n8n 自动化平台 Docker 部署教程(附 PostgreSQL 与更新指南)
n8n 自动化平台 Docker 部署教程(附 PostgreSQL 与更新指南)
n8n
是一个强大的可视化工作流自动化工具,支持无代码或低代码地集成各种服务。本文将手把手教你如何通过 Docker 快速部署 n8n
,并介绍如何使用 PostgreSQL、设置时区以及升级服务等实用技巧。
✨ 1. 前提条件
在开始部署之前,请确保你已经具备以下环境:
-
✅ 安装了 Docker
- Windows/macOS 用户建议使用 Docker Desktop
- Linux 用户需单独安装 Docker Engine 和 Docker Compose
🚀 2. 基本部署步骤
① 创建数据卷(用于持久化 n8n 数据)
docker volume create n8n_data
② 启动 n8n 容器
docker run -it --rm \--name n8n \-p 5678:5678 \-e N8N_SECURE_COOKIE=false \-e GENERIC_TIMEZONE="Asia/Shanghai" \-e TZ="Asia/Shanghai" \-v n8n_data:/home/node/.n8n \docker.n8n.io/n8nio/n8n
🔗 启动成功后,你可以通过浏览器访问 http://localhost:5678
打开 n8n Web UI。
🧩 3. 使用 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_SCHEMA=<Schema 名称> \-e DB_POSTGRESDB_PASSWORD=<密码> \-v n8n_data:/home/node/.n8n \docker.n8n.io/n8nio/n8n
📌 注意:你需要自行部署 PostgreSQL 数据库,或通过 Docker 启动一个 PostgreSQL 容器。
🌏 4. 设置时区(推荐)
为了让任务执行时间与你所在地区一致,可以设置时区:
docker run -it --rm \--name n8n \-e N8N_SECURE_COOKIE=false \-e GENERIC_TIMEZONE="Asia/Shanghai" \-e TZ="Asia/Shanghai" \-p 5678:5678 \-v n8n_data:/home/node/.n8n \docker.n8n.io/n8nio/n8n
♻️ 5. 更新 n8n 镜像版本
① 拉取最新镜像
docker pull docker.n8n.io/n8nio/n8n
② 停止并删除旧容器
docker stop <container_id>
docker rm <container_id>
③ 使用新镜像重新运行容器
重新执行上面的运行命令,即可使用新版本。
📦 6. 使用 Docker Compose 管理(推荐进阶用户)
如果你使用 Docker Compose 来管理服务,则可以通过以下方式更新:
docker compose pull
docker compose down
docker compose up -d
⚠️ 注意事项
- 默认数据库为 SQLite,不适合高并发/生产场景,建议切换为 PostgreSQL。
- 数据持久化至关重要,必须挂载
.n8n
目录以保存加密密钥、用户设置等信息。 - 若无 DevOps 管理经验,建议使用官方 n8n Cloud 服务,更加安全省心。
- 使用时请配置环境变量如
N8N_BASIC_AUTH_USER
与N8N_BASIC_AUTH_PASSWORD
实现基础认证。
📚 参考资料
- 官方部署文档:n8n Docker 安装指南
如需进一步配置 webhook、添加 SSL 证书、部署到生产环境,请关注后续文章更新。
如需我帮你生成 docker-compose.yml
示例或部署 PostgreSQL + n8n 的完整方案,也可以继续告诉我。