非常好 👍 阿杰,下面是 最新版 n8n(v1.81+)基于 Docker 的完整部署手册,
涵盖单机部署、持久化、环境变量配置与 Docker Compose 一键启动。
🧩 一、n8n 是什么?
n8n 是一个开源的自动化工作流工具,功能类似 Zapier / Make。
它支持上千种集成(API、数据库、Webhook、AI、Slack、邮件等),
可以通过可视化界面拖拽节点,实现自动化业务逻辑。
官网 👉 https://n8n.io
🧱 二、环境准备
1️⃣ 系统要求
- Ubuntu 20.04+ / macOS / Windows(支持 Docker Desktop)
- 内存 ≥ 2GB(推荐 4GB 以上)
- 已安装 Docker 与 Docker Compose
验证:
docker -v
docker compose version
⚙️ 三、拉取官方 n8n 镜像
docker pull n8nio/n8n:latest
可根据版本需要指定,例如:
n8nio/n8n:1.81.1
🗂️ 四、创建持久化目录
mkdir -p ~/n8n/data
mkdir -p ~/n8n/init
目录说明:
~/n8n/data
:存放工作流数据(SQLite / 文件等)~/n8n/init
:用于挂载初始化脚本或配置文件
🧾 五、运行单容器(快速体验)
docker run -d \
--name n8n \
-p 5678:5678 \
-v ~/n8n/data:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=123456 \
-e N8N_HOST=localhost \
-e N8N_PORT=5678 \
n8nio/n8n:latest
📍访问地址:
http://localhost:5678
登录账号:admin
密码:123456
🧰 六、使用 Docker Compose 部署(推荐)
创建文件:
nano ~/n8n/docker-compose.yml
写入内容:
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=123456
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- N8N_EDITOR_BASE_URL=http://localhost:5678/
- GENERIC_TIMEZONE=Asia/Shanghai
- EXECUTIONS_PROCESS=main
volumes:
- ./data:/home/node/.n8n
启动:
docker compose up -d
查看状态:
docker ps
🧩 七、浏览器访问
浏览器打开:
http://<你的服务器IP>:5678
登录 n8n 控制台后,即可:
- 创建工作流 (Workflows)
- 拖拽节点连接
- 配置 API 调用
- 设置触发条件 (Trigger)
- 调试自动化任务
🗃️ 八、使用外部数据库(PostgreSQL)
n8n 默认使用 SQLite,但生产环境建议切换到 PostgreSQL。
修改 docker-compose.yml
:
services:
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=123456
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=123456
volumes:
- ./data:/home/node/.n8n
depends_on:
- db
db:
image: postgres:15
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: 123456
POSTGRES_DB: n8n
volumes:
- ./postgres_data:/var/lib/postgresql/data
启动:
docker compose up -d
🌍 九、配置反向代理(生产环境部署)
使用 Nginx + HTTPS
Nginx 示例配置(/etc/nginx/conf.d/n8n.conf
):
server {
listen 80;
server_name n8n.example.com;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
如果要启用 HTTPS:
sudo certbot --nginx -d n8n.example.com
🧠 十、常用环境变量
变量 | 说明 |
---|---|
N8N_BASIC_AUTH_ACTIVE | 启用登录认证 |
N8N_BASIC_AUTH_USER / N8N_BASIC_AUTH_PASSWORD | 登录账号与密码 |
DB_TYPE | 数据库类型(sqlite / postgresdb / mysqldb) |
N8N_ENCRYPTION_KEY | 数据加密密钥(建议自定义) |
N8N_HOST / N8N_PORT | 主机与端口 |
N8N_PROTOCOL | http 或 https |
EXECUTIONS_PROCESS | 执行方式(main / own) |
GENERIC_TIMEZONE | 时区设置 |
⚡ 十一、更新 n8n 版本
docker compose pull
docker compose up -d
🧹 十二、备份与恢复
备份
tar czvf n8n-backup.tar.gz ~/n8n/data
恢复
tar xzvf n8n-backup.tar.gz -C ~/n8n/data
🚀 十三、测试是否正常运行
访问:
http://localhost:5678
创建一个简单工作流:
- Trigger:Cron 定时器(每分钟)
- Node:HTTP Request → 请求 https://api.chucknorris.io/jokes/random
- Node:Send Email 或 Telegram 消息输出结果
运行成功后,说明部署完美 ✅
✅ 总结
步骤 | 内容 |
---|---|
1 | 安装 Docker 与 Compose |
2 | 拉取 n8n 镜像 |
3 | 配置 docker-compose.yml |
4 | 启动服务 |
5 | 浏览器访问 :5678 |
6 | (可选)配置 PostgreSQL 与 Nginx 反代 |
发表回复