n8n Docker部署

发布于:2025-06-30 ⋅ 阅读:(26) ⋅ 点赞:(0)

使用Docker部署n8n指南

Docker部署优势

  1. 提供干净的环境安装n8n
  2. 简化数据库配置过程
  3. 避免不同操作系统带来的问题
  4. 避免操作系统和工具的兼容性问题
  5. 使迁移到新主机或环境更加简单

前提条件

自托管n8n需要具备以下技术知识:

  • 服务器和容器的设置与配置能力
  • 应用资源管理和扩展能力
  • 服务器和应用程序安全管理能力
  • n8n配置经验

注意:如果缺乏服务器管理经验,建议使用n8n Cloud服务。

基本部署步骤

1. 基础启动命令

# 创建数据卷
docker volume create n8n_data

# 运行n8n容器
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

容器启动后,可以通过 http://localhost:5678 访问n8n。

2. 使用PostgreSQL配置

如果需要使用PostgreSQL替代默认的SQLite,可以使用以下命令:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e DB_TYPE=postgresdb \
  -e DB_POSTGRESDB_DATABASE=<数据库名> \
  -e DB_POSTGRESDB_HOST=<数据库主机> \
  -e DB_POSTGRESDB_PORT=<数据库端口> \
  -e DB_POSTGRESDB_USER=<用户名> \
  -e DB_POSTGRESDB_PASSWORD=<密码> \
  -e DB_POSTGRESDB_SCHEMA=<schema名称> \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

3. 时区设置

可以通过环境变量设置时区:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE="Asia/Shanghai" \
  -e TZ="Asia/Shanghai" \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

更新n8n

1. 使用Docker命令更新

# 拉取最新稳定版本
docker pull docker.n8n.io/n8nio/n8n

# 拉取特定版本
docker pull docker.n8n.io/n8nio/n8n:1.81.0

# 拉取测试版本
docker pull docker.n8n.io/n8nio/n8n:next

2. 使用Docker Compose更新

# 进入docker-compose文件目录
cd </path/to/your/compose/file/directory>

# 拉取最新版本
docker compose pull

# 停止并移除旧版本
docker compose down

# 启动容器
docker compose up -d

开发测试功能

启用Tunnel功能

注意:仅用于本地开发和测试,不要在生产环境使用。

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n \
  start --tunnel

注意事项

  1. 在使用PostgreSQL时,保持 /home/node/.n8n 目录的持久化很重要
  2. 可以通过 N8N_ENCRYPTION_KEY 环境变量提供加密密钥
  3. 建议在生产环境使用 PostgreSQL 而不是默认的 SQLite
  4. 确保正确配置时区以保证定时任务准确执行
  5. 更新前建议备份数据