第 1 章

安装与部署

Ch01 安装与部署

本章详细介绍四种主流 n8n 安装方式:适合本地开发的 Docker Compose、适合快速验证的 Railway、国内用户首选的 Zeabur,以及零运维成本的官方 n8n.cloud。无论你的技术背景如何,都能在 15 分钟内跑起第一个 n8n 实例。

四种安装方式对比

方式 适合场景 费用 数据主权 难度
Docker Compose(本地) 开发测试、本地运行 免费 完全自控 ⭐⭐
Railway 快速上线、海外用户 $5/月起 自控
Zeabur 国内网络、中文支持 $5/月起 自控
n8n.cloud 零运维、快速试用 免费14天/后$24月 托管 ⭐(最简单)

方式一:Docker Compose 本地部署(推荐开发环境)

Docker Compose 是最灵活的安装方式,你可以完整控制所有配置,同时在本地快速迭代和测试工作流。以下是一个经过生产验证的完整 docker-compose.yml 配置:

docker-compose.yml

version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      # 基础配置
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - WEBHOOK_URL=http://localhost:5678/
      # 安全配置(生产环境必须修改)
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your_strong_password
      # 时区设置
      - GENERIC_TIMEZONE=Asia/Shanghai
      - TZ=Asia/Shanghai
      # 数据库(默认 SQLite,生产推荐 PostgreSQL)
      - DB_TYPE=sqlite
      # 执行记录保留天数
      - EXECUTIONS_DATA_PRUNE=true
      - EXECUTIONS_DATA_MAX_AGE=168
    volumes:
      - n8n_data:/home/node/.n8n
    networks:
      - n8n_network

volumes:
  n8n_data:

networks:
  n8n_network:

关键环境变量说明:

启动命令:

# 在 docker-compose.yml 所在目录运行
docker compose up -d

# 查看运行状态
docker compose ps

# 查看实时日志
docker compose logs -f n8n

# 停止服务
docker compose down

# 升级 n8n 版本
docker compose pull && docker compose up -d

首次启动: 运行 docker compose up -d 后,打开浏览器访问 http://localhost:5678,使用配置的用户名和密码登录。首次访问会要求创建账号或完成初始化向导。

配合 PostgreSQL 的生产级配置

如果你打算在生产环境运行 n8n,强烈建议将数据库切换为 PostgreSQL,以获得更好的并发性能和数据可靠性:

version: '3.8'

services:
  postgres:
    image: postgres:15-alpine
    container_name: n8n_postgres
    restart: unless-stopped
    environment:
      - POSTGRES_DB=n8n
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=your_db_password
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - n8n_network

  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your_strong_password
      - GENERIC_TIMEZONE=Asia/Shanghai
      # 切换到 PostgreSQL
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=your_db_password
    depends_on:
      - postgres
    volumes:
      - n8n_data:/home/node/.n8n
    networks:
      - n8n_network

volumes:
  postgres_data:
  n8n_data:

networks:
  n8n_network:

方式二:Railway 一键部署

Railway 是一个现代化的 PaaS 平台,提供接近一键式的 n8n 部署体验,适合不想自己管理服务器的海外用户。

  1. 访问 railway.app 并注册账号(支持 GitHub 登录)
  2. 在 Railway 控制台点击 New Project → Deploy from Template,搜索 "n8n" 选择官方模板
  3. 在模板配置页面设置环境变量:N8N_BASIC_AUTH_USERN8N_BASIC_AUTH_PASSWORDGENERIC_TIMEZONE=Asia/Shanghai
  4. 点击 Deploy,Railway 会自动拉取 n8n 镜像并启动服务,通常 2-3 分钟内完成
  5. 部署完成后,在 Railway 控制台找到生成的域名(如 n8n-production-xxxx.up.railway.app),将其配置为 WEBHOOK_URL

Railway 费用: Railway 提供每月 $5 的 Hobby 套餐,包含 512MB 内存,足够运行中等规模的 n8n 工作流。超出后按用量计费。

方式三:Zeabur 部署(国内用户推荐)

Zeabur 是一家中国团队创立的部署平台,服务器节点覆盖中国香港、日本等亚太地区,访问速度优于 Railway。平台支持中文界面,支持支付宝付款,是国内用户部署 n8n 的首选方案。

  1. 访问 zeabur.com 注册账号,支持 GitHub/Google 登录
  2. 创建新项目,选择 从模板部署,在模板市场搜索 "n8n"
  3. 选择部署区域(推荐 HKG-Hong Kong 或 NRT-Tokyo,国内访问速度较快)
  4. 配置环境变量,点击部署。Zeabur 会自动分配一个 *.zeabur.app 二级域名
  5. (可选)在 Zeabur 控制台绑定自定义域名,并将该域名配置为 WEBHOOK_URL

Zeabur 优势: Zeabur 提供 Developer 套餐(约 ¥35/月),内置 PostgreSQL 数据库模板,几乎不需要手动配置即可获得生产级部署,是国内团队的性价比首选。

方式四:n8n.cloud 免费试用

如果你只是想快速体验 n8n 的功能,n8n 官方提供的 Cloud 版是最简单的方式,无需任何服务器知识。

  1. 访问 n8n.io/cloud 点击 Start for free
  2. 使用邮箱注册账号,免费试用期为 14 天,无需绑定信用卡
  3. 注册后会自动分配一个 yourname.app.n8n.cloud 专属域名
  4. 登录后直接进入工作流编辑器,可以立即开始创建工作流

n8n.cloud 限制: 免费试用结束后,Cloud 版最低套餐约 $24/月,且限制 5 个活跃工作流。数据存储在 n8n 的服务器上。对于需要长期运行或数据合规的场景,建议切换至自托管方案。

首次启动后的界面初始化

无论通过哪种方式部署,首次访问 n8n 界面时都会经历以下初始化流程:

  1. 注册管理员账号:填写邮箱和密码,这是 n8n 的主账号,用于登录管理界面
  2. 完成设置向导:n8n 会询问你的使用场景(个人/团队)和主要用途,用于推荐工作流模板
  3. 进入工作流列表:初始界面会显示几个示例工作流模板,你可以直接导入使用
  4. 配置凭证:在侧边栏找到 Credentials,开始添加第一个 API 凭证(如 OpenAI API Key)
# 检查 n8n 容器健康状态
docker inspect n8n --format='{{json .State.Health}}'

# 查看 n8n 当前配置的环境变量
docker exec n8n env | grep N8N

# 手动备份 n8n 数据(SQLite 模式)
docker exec n8n cp /home/node/.n8n/database.sqlite /home/node/.n8n/database.sqlite.bak

# 导出所有工作流(用于备份或迁移)
docker exec n8n n8n export:workflow --all --output=/home/node/.n8n/workflows_backup.json

版本管理建议: 建议在 docker-compose.yml 中锁定 n8n 版本号(如 n8nio/n8n:1.48.0)而不是使用 latest,避免自动升级带来的兼容性问题。重大版本升级前,先在测试环境验证。

本章评分
4.7  / 5  (100 评分)

💬 留言讨论