跳转至

在 Heroku 上托管 n8n#

本托管指南向您展示如何在 Heroku 上自托管 n8n。它使用:

  • Docker Compose 来创建和定义应用程序组件以及它们如何协同工作。
  • Heroku 的 PostgreSQL 服务 来托管 n8n 的数据存储。
  • 部署到 Heroku 按钮提供一键部署,只需少量配置。

自托管知识先决条件

自托管 n8n 需要技术知识,包括:

  • 设置和配置服务器和容器
  • 管理应用资源和扩展
  • 保护服务器和应用
  • 配置 n8n

n8n 建议专家用户使用自托管。错误可能导致数据丢失、安全问题和停机。如果您在管理服务器方面经验不足,n8n 建议使用 n8n Cloud

Latest 和 Next 版本

n8n 几乎每周都会发布新的次要版本。latest 版本用于生产环境。next 是最新的发布版本。您应该将 next 视为测试版:它可能不稳定。如需报告问题,请使用论坛

当前 latest:1.107.3
当前 next:1.108.0

使用部署模板创建 Heroku 项目#

开始将 n8n 部署到 Heroku 的最快方法是使用 部署到 Heroku 按钮:

Deploy

这会在 Heroku 上打开 创建新应用 页面。为项目设置名称,并选择要部署项目的区域。

配置环境变量#

Heroku 预先填写了在 app.json 文件的 env 部分中定义的配置选项,这也为 n8n 使用的环境变量设置了默认值。

您可以更改任何这些值以满足您的需求。您必须更改以下值:

  • N8N_ENCRYPTION_KEY,n8n 用它来在保存到数据库之前加密用户账户详细信息
  • WEBHOOK_URL 应该与您创建的应用程序名称匹配,以确保 webhook 具有正确的 URL。

部署 n8n#

选择 部署应用

Heroku 构建并部署应用后,它提供 管理应用查看 应用程序的链接。

Heroku 和 DNS

请参考 Heroku 文档 了解如何将您的域名连接到 Heroku 应用程序。

更改部署模板#

您可以通过 fork 存储库 并从您的 fork 进行部署来对部署模板进行更改。

Dockerfile#

默认情况下,Dockerfile 拉取最新的 n8n 镜像,如果您想使用不同的或固定版本,请更新 Dockerfile 顶部行的镜像标签。

Heroku 和端口暴露#

Heroku 不允许基于 Docker 的应用程序使用 EXPOSE 命令定义暴露端口。相反,Heroku 提供一个 PORT 环境变量,它在应用程序运行时动态填充。entrypoint.sh 文件覆盖默认的 Docker 镜像命令,而是设置 Heroku 提供的端口变量。然后您可以在网页浏览器中通过端口 80 访问 n8n。

Heroku 使用 Docker 的限制

阅读本指南 了解有关在 Heroku 中使用 Docker 的限制的更多详细信息。

配置 Heroku#

heroku.yml 文件定义您想要在 Heroku 上创建的应用程序。它由两个部分组成:

  • setup > addons 定义要使用的 Heroku 插件。在这种情况下,是 PostgreSQL 数据库插件。
  • build 部分定义 Heroku 如何构建应用程序。在这种情况下,它使用 Docker buildpack 基于提供的 Dockerfile 构建 web 服务。

后续步骤#

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持