🐧 Linux 系统下使用 Docker 部署 n8n 详细教程(含国内网络优化方案)
✅ 适配国内网络环境,使用清华源、npmmirror 等加速
✅ 支持 Ubuntu / CentOS / Debian 等主流发行版
✅ 包含安全配置、自启动、备份、社区节点安装等进阶内容
📌 1. n8n 简介
1.1 什么是 n8n?
n8n 是一款开源、可自托管的工作流自动化工具(Workflow Automation Tool),名称源于 “nodenode” —— 强调其基于节点的可视化流程设计。它允许用户通过拖拽方式连接不同应用、API 和服务,构建自动化流程,而无需编写代码。
- 开源协议:MIT,可免费用于商业和个人项目
- 核心优势:数据自主可控、无订阅费用、支持私有部署、可扩展性强
- 对比竞品:相比 Zapier / Make / Pipedream,n8n 更适合对数据隐私、成本控制和定制化有高要求的用户
1.2 n8n 能做什么?
支持 1000+ 官方与社区节点,覆盖:
| 场景类型 |
示例 |
| 内容发布 |
博客 → 社交媒体、RSS → Notion、YouTube字幕 → 文章 |
| 数据同步 |
Shopify → Google Sheets、Airtable → WordPress、API → 数据库 |
| 通知提醒 |
邮件关键词 → Slack、网站宕机 → 钉钉/短信、日报 → 邮件 |
| 文件处理 |
Dropbox → 格式转换 → Google Drive、FTP → 解析 → 数据库 |
| 电商营销 |
订单完成 → 邮件+积分、竞品监控 → 自动调价、表单 → CRM |
| 开发运维 |
GitHub Push → Jenkins → 部署、服务器监控 → 告警、DB备份 → 云存储 |
💡 支持自定义节点开发,可对接企业内部系统。
⚙️ 2. 准备工作
确保你的 Linux 服务器满足:
- 系统:Ubuntu 20.04+ / CentOS 7+ / Debian 11+
- 权限:具备
sudo 权限
- 硬件:≥2GB 内存,≥20GB 磁盘空间(推荐 SSD)
- 网络:能访问公网(我们将配置镜像源解决国内访问慢的问题)
1 2 3 4
| cat /etc/os-release free -h df -h
|
🐳 3. 安装 Docker 与 Docker Compose(国内镜像优化版)
3.1 Ubuntu/Debian 安装(推荐使用清华源)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
|
✅ 注意:清华源不托管 Docker Compose 二进制文件,应使用 GitHub 官方或镜像站。
3.2 CentOS/RHEL 安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker sudo systemctl enable docker
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
|
3.3 验证安装
1 2 3
| docker --version docker-compose --version sudo systemctl status docker
|
🚀 4. 配置 Docker 镜像加速(关键!解决国内拉取慢问题)
编辑或创建 /etc/docker/daemon.json:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } EOF
sudo systemctl daemon-reload sudo systemctl restart docker
|
⚠️ 注意:清华的 Docker Hub 镜像加速地址是 https://docker.mirrors.ustc.edu.cn(中科大源)或阿里云镜像,非 docker-ce 路径。
🧩 5. 部署 n8n(Docker Compose 方式)
5.1 创建目录
1
| mkdir -p ~/n8n && cd ~/n8n
|
5.2 创建 docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| version: '3.8'
services: n8n: image: n8nio/n8n:latest container_name: n8n restart: unless-stopped ports: - "5678:5678" environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=admin - N8N_BASIC_AUTH_PASSWORD=yourpass - N8N_HOST=0.0.0.0 - N8N_PORT=5678 - NODE_ENV=production - TZ=Asia/Shanghai - GENERIC_TIMEZONE=Asia/Shanghai volumes: - ./n8n_data:/home/node/.n8n - /etc/localtime:/etc/localtime:ro networks: - n8n_net
networks: n8n_net: driver: bridge
|
✅ 优化点:
- 使用
unless-stopped 更安全
- 挂载
/etc/localtime 确保容器时区同步
- 明确网络配置,便于未来扩展
5.3 启动服务
1 2
| docker-compose up -d docker-compose logs -f
|
等待日志出现 n8n ready on 0.0.0.0:5678 即表示启动成功。
⚙️ 6. 配置 n8n
6.1 访问界面
浏览器访问:http://<你的服务器IP>:5678
输入设置的用户名和密码登录。
6.2 初始设置建议
- 进入 Settings → Personal Settings 设置语言、时区
- 进入 Credentials 添加常用服务凭据(如 Gmail、Notion、钉钉等)
- 启用 Usage Data Collection 可选(建议关闭以保护隐私)
6.3 配置 SMTP 邮件服务(可选)
用于工作流发送邮件通知:
- SMTP Host:
smtp.gmail.com / smtp.qq.com / smtp.163.com
- Port:
587(TLS)或 465(SSL)
- 用户名/密码:你的邮箱账号和授权码(非登录密码)
🔄 7. 设置 n8n 开机自启动(systemd 方式)
创建服务文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| sudo tee /etc/systemd/system/n8n.service <<EOF [Unit] Description=n8n Workflow Automation After=docker.service Requires=docker.service
[Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/home/$USER/n8n ExecStart=/usr/local/bin/docker-compose up -d ExecStop=/usr/local/bin/docker-compose down User=$USER Group=$USER
[Install] WantedBy=multi-user.target EOF
|
启用服务:
1 2 3 4
| sudo systemctl daemon-reload sudo systemctl enable n8n sudo systemctl start n8n sudo systemctl status n8n
|
🎯 8. 使用 n8n
8.1 创建第一个工作流
- 点击 New Workflow
- 拖入 Cron Trigger(定时触发器)
- 拖入 HTTP Request 或 Email 节点
- 配置参数 → 连接节点 → 点击 Execute Workflow
- 点击 Save → Activate 启用自动化
8.2 安装社区节点(解决国内 npm 慢问题)
进入容器并使用 npmmirror(原淘宝 NPM 镜像):
1 2 3 4 5 6 7 8 9 10 11
| docker exec -it n8n /bin/bash
npm config set registry https://registry.npmmirror.com
npm install n8n-nodes-stability-ai
exit docker-compose restart
|
✅ https://registry.npmmirror.com 是有效且高速的国内 NPM 镜像源。
💾 9. 数据备份与迁移
9.1 手动备份
1 2 3 4
| cd ~/n8n docker-compose stop tar -zcvf n8n_backup_$(date +%Y%m%d_%H%M%S).tar.gz n8n_data/ docker-compose start
|
9.2 自动备份脚本 + 定时任务
创建 ~/n8n/backup.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/bin/bash cd ~/n8n
docker-compose stop
BACKUP_DIR="backups" mkdir -p $BACKUP_DIR tar -zcvf $BACKUP_DIR/n8n_$(date +%Y%m%d_%H%M%S).tar.gz n8n_data/
docker-compose start
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete
|
赋予权限并添加定时任务:
1 2
| chmod +x backup.sh (crontab -l 2>/dev/null; echo "0 2 * * * /home/$USER/n8n/backup.sh") | crontab -
|
9.3 迁移至新服务器
- 将备份文件
n8n_xxx.tar.gz 上传到新服务器
- 解压到
~/n8n/n8n_data/
- 启动
docker-compose up -d
❓ 10. 常见问题解决
| 问题 |
解决方案 |
| 拉取镜像慢 |
确认 /etc/docker/daemon.json 配置了国内镜像源 |
| 无法访问 5678 端口 |
检查防火墙:sudo ufw allow 5678 或云服务器安全组 |
| 登录后空白页 |
清除浏览器缓存,或尝试无痕模式;检查 N8N_HOST 是否为 0.0.0.0 |
| 社区节点安装失败 |
进入容器手动 npm install + 使用 https://registry.npmmirror.com |
| 时区不对 |
确保设置了 TZ=Asia/Shanghai 并挂载了 /etc/localtime |
🎉 11. 总结
通过本教程,你已成功在 Linux 服务器上使用 Docker 部署了 n8n,并针对国内网络环境做了全面优化:
- ✅ 使用清华源安装 Docker
- ✅ 配置国内镜像加速器拉取镜像
- ✅ 使用 npmmirror 安装社区节点
- ✅ systemd 自启动 + 自动备份保障服务稳定
- ✅ 安全配置(Basic Auth + 强密码)
n8n 是一个强大而灵活的自动化引擎,部署完成后,你可以开始构建属于自己的“数字员工”,解放双手,提升效率!
📚 延伸阅读: