非常好 👍 阿杰,下面是 最新版 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_PROTOCOLhttphttps
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

创建一个简单工作流:

运行成功后,说明部署完美 ✅


✅ 总结

步骤内容
1安装 Docker 与 Compose
2拉取 n8n 镜像
3配置 docker-compose.yml
4启动服务
5浏览器访问 :5678
6(可选)配置 PostgreSQL 与 Nginx 反代