当前位置: 首页 > news >正文

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

⚠️ 注意事项

  1. 默认数据库为 SQLite,不适合高并发/生产场景,建议切换为 PostgreSQL。
  2. 数据持久化至关重要,必须挂载 .n8n 目录以保存加密密钥、用户设置等信息。
  3. 若无 DevOps 管理经验,建议使用官方 n8n Cloud 服务,更加安全省心。
  4. 使用时请配置环境变量如 N8N_BASIC_AUTH_USERN8N_BASIC_AUTH_PASSWORD 实现基础认证。

📚 参考资料

  • 官方部署文档:n8n Docker 安装指南

如需进一步配置 webhook、添加 SSL 证书、部署到生产环境,请关注后续文章更新。


如需我帮你生成 docker-compose.yml 示例或部署 PostgreSQL + n8n 的完整方案,也可以继续告诉我。

http://www.xdnf.cn/news/778573.html

相关文章:

  • Java数据校验:确保数据完整性和正确性
  • Spring Cloud Eureka:微服务架构中的服务注册与发现核心组件
  • 定时器时钟来源可以从输入捕获引脚输入
  • HashMap 的底层原理
  • 小白的进阶之路系列之十二----人工智能从初步到精通pytorch综合运用的讲解第五部分
  • 网络安全问题及对策研究
  • Java面试八股--08-数据结构和算法篇
  • JavaWeb是什么?总结一下JavaWeb的体系
  • MQTTX连接阿里云的物联网配置
  • Linux 下 ChromeDriver 安装
  • 70道Hive高频题整理(附答案背诵版)
  • Express教程【006】:使用Express写接口
  • “草台班子”的成长路径分析
  • 基于InternLM的情感调节大师FunGPT
  • Cilium动手实验室: 精通之旅---1.Getting Started with Cilium
  • 深度学习学习率调度器指南:PyTorch 四大 scheduler 对决
  • # 将本地UI生成器从VLLM迁移到DeepSeek API的完整指南
  • iOS 应用如何防止源码与资源被轻易还原?多维度混淆策略与实战工具盘点(含 Ipa Guard)
  • 深入浅出:Oracle 数据库 SQL 执行计划查看详解(1)——基础概念与查看方式
  • 蛋白质结构预测软件openfold介绍
  • 【请关注】MySQL 中常见的加锁方式及各类锁常见问题及对应的解决方法
  • macos常见且应该避免被覆盖的系统环境变量(避免用 USERNAME 作为你的自定义变量名)
  • 数据结构:递归:自然数之和
  • MYSQL 高级 SQL 技巧
  • 虚拟线程与消息队列:Spring Boot 3.5 中异步架构的演进与选择
  • 从零打造AI面试系统全栈开发
  • 字节新出的MCP应用DeepSearch,有点意思。
  • 基于大模型的短暂性脑缺血发作(TIA)全流程预测与干预系统技术方案
  • forEach不能用return中断循环,还是会走循环外的逻辑
  • idea不识别lombok---实体类报没有getter方法