n8n Docker 部署测试+生产级配置全流程记录

·

n8n 简介

n8n是一款专为技术团队打造的开源工作流自动化平台(Workflow Automation Platform),兼具「低代码(No-code)」与「可编程(Pro-code)」双重特性。它让你可以轻松地将不同系统、API 和服务连接起来,自动执行任务、数据同步、通知、集成 AI 模型等各种流程。n8n 不仅能节省大量重复性工作,还能在团队内部构建稳定、安全的自动化体系。

它让你可以轻松地将不同系统、API 和服务连接起来,自动执行任务、数据同步、通知、集成 AI 模型等各种流程。
n8n 不仅能节省大量重复性工作,还能在团队内部构建稳定、安全的自动化体系。

🔑 核心功能亮点

功能说明
🧠 可编程与可视化兼备支持可视化拖拽节点,也能直接编写 JavaScript/Python 逻辑。
🤖 AI 原生支持内置 LangChain、OpenAI 接口,可搭建自定义 AI Agent 流程。
🧩 400+ 集成节点支持 GitHub、Slack、MySQL、Redis、Google Sheets、Telegram、OpenAI 等常用服务。
🔐 完全自托管Fair-Code 许可协议,支持本地部署,数据完全掌控在自己手中。
🧱 企业级特性提供权限管理、SSO、离线部署(Air-gapped)等企业功能。
🌍 活跃社区生态超过 900+ 预制工作流模板,可快速复用。

部署环境分级(核心优化)

为避免测试/生产环境混淆导致的风险,先明确不同场景的部署规范:

维度测试环境生产环境
数据库SQLite(内置,快速启动)PostgreSQL(稳定、高性能)
镜像标签latest(尝新)固定版本(stable,避免兼容问题)
网络暴露5678端口直出(仅内网测试)反向代理+HTTPS(公网访问)
密码管理示例占位符(仅测试).env文件/Secret管理(强密码)
重启策略无(测试结束即删)unless-stopped(异常自动恢复)
数据备份定期备份数据库+数据卷
运行用户nodenode
资源限制显式配置内存/CPU限制

下载 n8n 镜像

# 测试用
docker pull n8nio/n8n:latest
# 生产用
docker pull n8nio/n8n:stable

安装n8n

1 创建账号和目录

sudo useradd -m n8n

2 测试环境快速启动(适合初学者)

此方式使用默认配置与 SQLite 存储,开箱即用,测试结束后数据可丢弃:

代码语言:Bash

# 快速启动(测试用,--rm表示停止后删除容器)
docker run -it --rm \ 
  --name n8n \ 
  -p 5678:5678 \ 
  -e N8N_SECURE_COOKIE=false \
  -v /home/n8n:/home/node/.n8n \ 
  n8nio/n8n:latest

启动成功后,访问浏览器:

http://localhost:5678  |  http://localhost:5678

3 准生产持久化部署(推荐,长期运行)

准生产基础形态,需配合反向代理使用:

# 核心:异常退出自动重启(生产必备)
# 核心:限制内存,避免OOM,仅绑定本地回环地址(安全)
docker run -d --name n8n \ 
  --restart unless-stopped \ 
  --memory 2G \ 
  -p 127.0.0.1:5678:5678 \ 
  -e TZ=Asia/Shanghai \ 
  -e GENERIC_TIMEZONE=Asia/Shanghai \ 
  -v /home/n8n/data:/home/node/.n8n \ 
  -v /home/n8n/files:/home/node/files \ 
  n8nio/n8n:stable

参数说明:

参数含义
--restart unless-stopped容器异常/主机重启后自动恢复(生产必备)
--memory 2G限制内存使用,避免占用过多资源
-p 127.0.0.1:5678:5678仅绑定本地回环地址,禁止直连公网, nginx反向代理
-v /data/n8n/data:/home/node/.n8n挂载数据目录,防止重启丢失工作流
-e TZ=Asia/Shanghai设置时区为北京时间