博客

教程、指南和产品动态。

开发者

在您自己的服务器上自托管 n8n

3 11月 2026 1 分钟阅读
分享此文章

n8n 是一款自动化工具,可以连接各种应用并构建工作流。您可以用 Docker 在自己的 VPS 上运行它。官方文档介绍了 Docker Compose 的安装方式,并建议有技术经验的人自托管。安装指南没有给出 CPU、RAM 或磁盘的数值,所以从小的服务器开始,边观察边升级是合理的。

本文介绍许可证、安装步骤、重要的设置、备份和更新。

用 n8n 能构建什么?

n8n 中的工作流由一个触发器和与之相连的步骤组成。触发器可以是定时计划、webhook,或其他应用中的事件。典型的例子有:把表单提交写入电子表格、通知团队有新订单,或者每天早上汇总一份报告并发邮件。您在浏览器中的可视化编辑器里构建工作流,不必写代码,但如果需要,也可以加入一个代码步骤。

为什么要在自己的服务器上运行?

  • 您的工作流和保存的连接信息都留在您自己的服务器上。
  • 定时工作流在您自己的电脑关机时依然在服务器上运行,外部也可以通过 webhook 触发它们。
  • 您的使用上限取决于服务器的性能,如果不够用,就升级服务器。
  • 作为交换,维护由您负责:更新、备份和安全。

许可证:免费使用允许做什么?

n8n 不是开源软件。按它自己的说法,它是“fair-code”软件。源代码可以获得,但 Sustainable Use License 限制商业用途。根据官方的许可证页面,您可以免费将其用于公司内部运营,以及个人或非商业项目。作为有偿咨询为客户构建工作流也可以,只要客户自己不能访问 n8n。如果提供的服务是让客户登录 n8n 来构建或编辑自己的工作流(把 n8n 作为服务托管),则需要商业许可证。对于边界情况,请咨询 n8n 的许可团队。

安装步骤

这些步骤遵循官方的 Docker Compose 指南。该指南通过名为 Traefik 的反向代理获取并续期 HTTPS 证书。

  1. 准备一台已安装 Docker Engine 和 Docker Compose 的 Linux 服务器。用 docker --version 和 docker compose version 检查。
  2. 添加一条 A 记录,把您域名的一个子域名(例如 n8n.example.com)指向服务器的 IP 地址。如何绑定您自己的域名会带您完成这一步。
  3. 在服务器上按官方指南创建 .env 和 compose.yaml 文件。
  4. 在 .env 中填写 DOMAIN_NAME、SUBDOMAIN、GENERIC_TIMEZONE 和 SSL_EMAIL。时区请使用 Europe/Istanbul。如果不填,默认是纽约。
  5. 启动:docker compose up -d
  6. 在浏览器中打开您的子域名,并马上创建所有者账户。谁先填写这个界面,谁就成为所有者。

需要了解的设置

变量作用
N8N_HOST、N8N_PROTOCOLn8n 运行所用的主机名和协议(https)
N8N_WEBHOOK_URL在反向代理后面,n8n 无法判断自己的外部地址。请填入您的公网 HTTPS 地址,这样 webhook 地址才会正确显示。旧名称 WEBHOOK_URL 在当前版本中仍可使用,但已被弃用。在较旧的版本上只适用旧名称,所以请查阅您所用版本的文档。
GENERIC_TIMEZONE、TZ计划节点所用的时区
N8N_ENCRYPTION_KEY加密已保存连接信息的密钥

Webhook 节点有两个地址:测试地址在您编辑工作流时有效,生产地址在您激活之后有效。请把生产地址提供给外部服务。地址的开头来自 N8N_WEBHOOK_URL 的值,所以如果该值有误,外部服务就无法访问您的工作流。

加密密钥与备份

首次启动时,n8n 会生成一个随机加密密钥,并保存在它的数据文件夹(/home/node/.n8n)中。您保存的连接信息就是用它加密的。恢复的数据库中的连接信息,没有这个密钥就无法解密。请另外保存一份密钥副本。

  • 备份什么:数据卷(n8n_data)中保存着默认的 SQLite 数据库和密钥。复制前请先停止 n8n。如果使用 PostgreSQL,请用它自己的工具单独备份数据库。
  • 快速导出:n8n 命令在容器内运行。docker compose exec n8n n8n export:workflow --backup --output=/home/node/.n8n/backups/workflows/ 和 docker compose exec n8n n8n export:credentials --backup --output=/home/node/.n8n/backups/credentials/ 会把工作流和连接信息写入数据卷。用户、执行历史和设置不包含在内,所以这不足以做完整恢复。
  • 服务器备份:Seturack 每晚备份您的服务器,并保留最近 7 天。这也涵盖 n8n 的数据,但最好再单独导出您的关键工作流。

资源与数据库

官方安装指南没有给出 CPU 或内存的数值。作为经验法则,轻量且不频繁的工作流在小型服务器上就能运行,而处理大文件或大量数据的工作流则需要内存。用 docker stats 观察容器的实际使用情况。默认数据库是 SQLite。重度使用时,可以用 DB_TYPE=postgresdb 切换到 PostgreSQL,同时仍要保留数据文件夹的卷。

如果服务器不够用,请在面板中升级。您的 IP 地址和数据保持不变,webhook 地址也不会改变。

更新

官方指南用三条命令描述更新:docker compose pull、docker compose down 和 docker compose up -d。请先备份并阅读发行说明。安装完成后,操作系统和应用的更新由您负责。

安全

  • 只通过 HTTPS 打开 n8n。官方指南也是同样的做法。
  • 安装完成后立即创建所有者账户,并选择强密码。
  • 在防火墙中只保持 22、80 和 443 端口开放。因为 Docker 会绕过 ufw 规则处理它发布的端口,所以不要把 n8n 的 5678 端口发布到外部。

如果想跳过这些步骤,请选择预装了 n8n 的服务器。如果自己安装,请从装好 Docker 的服务器开始。

评论0

暂无评论

成为第一个分享想法的人。

参与讨论

请登录或注册后发表评论。

不错过任何文章

通过电子邮件接收我们最新的教程、指南和产品资讯。

您已订阅我们的电子通讯。