Linux 系统下使用 Docker 部署 n8n 详细教程

🐧 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

# 添加 Docker GPG 密钥(清华镜像)
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加清华源(注意:使用 $(lsb_release -cs) 自动识别版本)
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

# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 安装 Docker Compose(使用 GitHub 国内镜像)
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

# 添加清华 Docker CE 源
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动并设为开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 安装 Docker Compose(同上)
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 创建第一个工作流

  1. 点击 New Workflow
  2. 拖入 Cron Trigger(定时触发器)
  3. 拖入 HTTP RequestEmail 节点
  4. 配置参数 → 连接节点 → 点击 Execute Workflow
  5. 点击 SaveActivate 启用自动化

8.2 安装社区节点(解决国内 npm 慢问题)

进入容器并使用 npmmirror(原淘宝 NPM 镜像)

1
2
3
4
5
6
7
8
9
10
11
docker exec -it n8n /bin/bash

# 设置 npm 镜像源
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

# 清理30天前备份
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 迁移至新服务器

  1. 将备份文件 n8n_xxx.tar.gz 上传到新服务器
  2. 解压到 ~/n8n/n8n_data/
  3. 启动 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 是一个强大而灵活的自动化引擎,部署完成后,你可以开始构建属于自己的“数字员工”,解放双手,提升效率!

📚 延伸阅读


Linux 系统下使用 Docker 部署 n8n 详细教程
https://www.psnow.sbs/2025/09/11/Linux-系统下使用-Docker-部署-n8n-详细教程/
作者
Psnow
发布于
2025年9月11日
许可协议