📌 本文是「n8n Docker 部署」系列第 一 篇 · 系列目录
简介
最小步骤完成 n8n 的部署与访问,适用于已具备 Docker 与 Compose 的服务器环境。
前提条件
- 已安装并可用的
docker与docker-compose(Compose v1) - 外部可访问的服务器 IP 或域名(放行
5678端口) - 建议准备 Basic Auth 的用户名与强密码
准备部署目录
mkdir -p ~/n8n && cd ~/n8n
创建 docker-compose.yml(最小可用模板)
按需替换占位符(如 <你的服务器域名或IP>、<用户名>、<强密码>、<你的服务器IP>):
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
# 基本网络与时区
- N8N_HOST=<你的服务器域名或IP>
- N8N_PORT=5678
- N8N_PROTOCOL=http
- WEBHOOK_URL=http://<你的服务器域名或IP>:5678/
- GENERIC_TIMEZONE=Asia/Shanghai
- N8N_SECURE_COOKIE=false
- N8N_COOKIE_SAMESITE=lax
# 登录保护(建议开启并设置强密码)
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=<用户名>
- N8N_BASIC_AUTH_PASSWORD=<强密码>
# 执行数据清理策略(避免数据库无限增长)
- EXECUTIONS_DATA_PRUNE=true
- EXECUTIONS_DATA_MAX_AGE=168 # 最近7天
- EXECUTIONS_DATA_PRUNE_MAX_COUNT=1000
- EXECUTIONS_DATA_SAVE_ON_ERROR=all
- EXECUTIONS_DATA_SAVE_SUCCESS=none
# 出站代理(如需)
- N8N_USE_PROXY=true
- HTTP_PROXY=http://172.17.0.1:7890
- HTTPS_PROXY=http://172.17.0.1:7890
- NO_PROXY=localhost,127.0.0.1,<你的服务器IP>,mirror.ccs.tencentyun.com
volumes:
- ~/.n8n:/home/node/.n8n # 数据持久化(SQLite/凭据等)
启动服务
docker-compose up -d
访问与登录
- 浏览器打开:
http://<你的服务器域名或IP>:5678 - 如启用 Basic Auth:使用上述用户名与密码登录
快速验证
- 页面可达且能登录
- 新建简单工作流,保存并运行,查看执行记录(若开启了错误保存)
常见问题提示
- 端口占用:修改
ports映射,例如"8080:5678"并改用http://<host>:8080 - 查看日志定位错误:
docker-compose logs -f n8n