在 Google Cloud Run 上托管 n8n#
本托管指南将展示如何在无服务器容器运行时 Google Cloud Run 上自托管 n8n。如果您是 n8n 新手且不需要生产级部署,可选用下方的"简易模式"进行部署。若计划大规模使用此 n8n 部署,请参考后续的"持久模式"说明。
您还可以通过 OAuth 启用对 Google Workspace(如 Gmail 和 Drive)的访问权限,从而将这些服务用作 n8n 工作流工具。授权 n8n 访问这些服务的操作说明位于本文档末尾。
如需部署到 Google Kubernetes Engine (GKE),请参阅相关说明。
自托管知识前提
自托管 n8n 需要具备以下技术知识:
- 服务器与容器的设置配置
- 应用程序资源管理与扩缩容
- 服务器与应用程序安全防护
- n8n 配置
n8n 建议仅由专业用户进行自托管。操作失误可能导致数据丢失、安全问题和服务中断。若缺乏服务器管理经验,n8n 推荐使用 n8n Cloud。
最新版与预览版
n8n 每周会发布新的次要版本。latest 版本适用于生产环境,next 则是最新发布版本。您应将 next 视为测试版:可能存在不稳定情况。问题反馈请使用社区论坛。
当前 latest 版本:1.119.2
当前 next 版本:1.119.3
准备工作:创建 Google Cloud 项目#
若尚未创建 Google Cloud 项目,请先完成此步骤(并确保已启用项目结算功能;即使 Cloud Run 服务可免费运行,部署时仍需激活结算功能)。如已有项目,请导航至目标部署项目。
简易模式#
这是在 Cloud Run 上部署 n8n 的最快捷方式。此部署模式下,n8n 数据将存储在内存中,因此仅建议用于演示目的。当 Cloud Run 服务缩容至零或重新部署时,所有 n8n 数据都将丢失。 如需生产级部署,请参考下方的持久模式说明。
若尚未创建 Google Cloud 项目,请先完成此步骤(并确保已启用项目结算功能;即使 Cloud Run 服务可免费运行,部署时仍需激活结算功能)。如已有项目,请导航至目标部署项目。
打开 Cloud Shell 终端(在 Google Cloud 控制台中,可输入"G"后按"S",或点击右上角的终端图标)。
会话启动后,可能需要先运行以下命令登录(并按照提示完成操作):
gcloud auth login
您也可以显式启用 Cloud Run API(即使不执行此操作,在部署时系统也会询问是否要启用该功能):
gcloud services enable run.googleapis.com
要部署 n8n:
gcloud run deploy n8n \
--image=n8nio/n8n \
--region=us-west1 \
--allow-unauthenticated \
--port=5678 \
--no-cpu-throttling \
--memory=2Gi
(您可指定任意偏好的区域,替代"us-west1")
部署完成后, 请新开标签页访问服务网址。n8n可能仍在加载,您会看到"n8n正在启动,请稍候"的提示,但稍后即可看到n8n登录界面。
可选操作:若希望尽可能保持n8n服务持续运行以避免数据丢失,可将手动扩缩容数量设为1,防止自动缩容至0。
gcloud run deploy n8n \
--image=n8nio/n8n \
--region=us-west1 \
--allow-unauthenticated \
--port=5678 \
--no-cpu-throttling \
--memory=2Gi \
--scaling=1
这并不能完全防止数据丢失,例如当 Cloud Run 服务被重新部署/更新时。如果您需要真正持久化的数据,请参考以下关于如何连接数据库的说明。