安装与部署
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:
关键环境变量说明:
- N8N_HOST:n8n 监听的主机名,生产环境填写你的域名(如
n8n.yourdomain.com) - WEBHOOK_URL:Webhook 触发器对外暴露的 URL,必须是外网可访问的完整 URL
- N8N_BASIC_AUTH_ACTIVE:是否启用基础认证,生产环境务必开启
- GENERIC_TIMEZONE:工作流定时任务使用的时区,国内用户设为
Asia/Shanghai - EXECUTIONS_DATA_MAX_AGE:执行记录保留时长(小时),168 = 7天
启动命令:
# 在 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 部署体验,适合不想自己管理服务器的海外用户。
- 访问 railway.app 并注册账号(支持 GitHub 登录)
- 在 Railway 控制台点击 New Project → Deploy from Template,搜索 "n8n" 选择官方模板
- 在模板配置页面设置环境变量:
N8N_BASIC_AUTH_USER、N8N_BASIC_AUTH_PASSWORD、GENERIC_TIMEZONE=Asia/Shanghai - 点击 Deploy,Railway 会自动拉取 n8n 镜像并启动服务,通常 2-3 分钟内完成
- 部署完成后,在 Railway 控制台找到生成的域名(如
n8n-production-xxxx.up.railway.app),将其配置为WEBHOOK_URL
Railway 费用: Railway 提供每月 $5 的 Hobby 套餐,包含 512MB 内存,足够运行中等规模的 n8n 工作流。超出后按用量计费。
方式三:Zeabur 部署(国内用户推荐)
Zeabur 是一家中国团队创立的部署平台,服务器节点覆盖中国香港、日本等亚太地区,访问速度优于 Railway。平台支持中文界面,支持支付宝付款,是国内用户部署 n8n 的首选方案。
- 访问 zeabur.com 注册账号,支持 GitHub/Google 登录
- 创建新项目,选择 从模板部署,在模板市场搜索 "n8n"
- 选择部署区域(推荐 HKG-Hong Kong 或 NRT-Tokyo,国内访问速度较快)
- 配置环境变量,点击部署。Zeabur 会自动分配一个
*.zeabur.app二级域名 - (可选)在 Zeabur 控制台绑定自定义域名,并将该域名配置为
WEBHOOK_URL
Zeabur 优势: Zeabur 提供 Developer 套餐(约 ¥35/月),内置 PostgreSQL 数据库模板,几乎不需要手动配置即可获得生产级部署,是国内团队的性价比首选。
方式四:n8n.cloud 免费试用
如果你只是想快速体验 n8n 的功能,n8n 官方提供的 Cloud 版是最简单的方式,无需任何服务器知识。
- 访问 n8n.io/cloud 点击 Start for free
- 使用邮箱注册账号,免费试用期为 14 天,无需绑定信用卡
- 注册后会自动分配一个
yourname.app.n8n.cloud专属域名 - 登录后直接进入工作流编辑器,可以立即开始创建工作流
n8n.cloud 限制: 免费试用结束后,Cloud 版最低套餐约 $24/月,且限制 5 个活跃工作流。数据存储在 n8n 的服务器上。对于需要长期运行或数据合规的场景,建议切换至自托管方案。
首次启动后的界面初始化
无论通过哪种方式部署,首次访问 n8n 界面时都会经历以下初始化流程:
- 注册管理员账号:填写邮箱和密码,这是 n8n 的主账号,用于登录管理界面
- 完成设置向导:n8n 会询问你的使用场景(个人/团队)和主要用途,用于推荐工作流模板
- 进入工作流列表:初始界面会显示几个示例工作流模板,你可以直接导入使用
- 配置凭证:在侧边栏找到 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,避免自动升级带来的兼容性问题。重大版本升级前,先在测试环境验证。