在 Heroku 上托管 n8n
本托管指南将向您展示如何在 Heroku 上自行托管 n8n。它使用:
- Docker Compose用于创建和定义应用程序组件以及它们如何协同工作。
- Heroku 的 PostgreSQL 服务用于托管 n8n 的数据存储。
- 部署到 Heroku按钮只需单击一次,并进行少量配置即可部署。
自托管知识前提条件
自托管 n8n 需要技术知识,包括:
- 设置和配置服务器和容器
- 管理应用程序资源和扩展
- 保护服务器和应用程序
- 配置 n8n
n8n 建议资深用户选择自托管。错误操作可能导致数据丢失、安全问题和宕机。如果您缺乏服务器管理经验,n8n 推荐使用
n8n Cloud 。最新版本和下一个版本
n8n 几乎每周都会发布一个新的次要版本。此版本仅供生产使用。这是最新版本。您应该将其视为测试版本:它可能不稳定。如需报告问题,请使用
论坛。当前:1.102.4当前:1.103.1
使用部署模板创建 Heroku 项目
将 n8n 部署到 Heroku 的最快方法是使用“
部署到 Heroku”按钮:这将打开Heroku 上的
“创建新应用”页面。设置项目名称,并选择要部署项目的区域。配置环境变量
Heroku 预先填充了文件部分中定义的配置选项,这也为 n8n 使用的环境变量设置了默认值。
您可以根据需要更改其中任意值。您必须更改以下值:
- N8N_ENCRYPTION_KEY ,n8n 在将用户帐户详细信息保存到数据库之前使用它来加密用户帐户详细信息。
- WEBHOOK_URL应该与您创建的应用程序名称相匹配,以确保 webhook 具有正确的 URL。
部署 n8n
选择
部署应用程序。Heroku 构建并部署应用程序后,它会提供
管理应用程序或查看应用程序的链接。更改部署模板
您可以通过分叉存储
库并从分叉处进行部署来对部署模板进行更改。Dockerfile
默认情况下,Dockerfile 会提取最新的 n8n 镜像,如果您想使用不同的或固定的版本,请更新文件顶行上的镜像标签。
Heroku 和暴露端口
Heroku 不允许基于 Docker 的应用程序使用该命令定义公开端口。相反,Heroku 提供了一个环境变量,它会在应用程序运行时动态填充。该文件会覆盖默认的 Docker 镜像命令,改为设置 Heroku 提供的端口变量。之后,您就可以在 Web 浏览器中通过 80 端口访问 n8n 了。
Heroku 的 Docker 限制
阅读本指南以了解有关使用 Docker 与 Heroku 的限制的更多详细信息。配置 Heroku
该文件定义了您想要在 Heroku 上创建的应用程序。它由两部分组成:
- >定义要使用的 Heroku 插件。在本例中,是 PostgreSQL 数据库插件。
- 本节定义了 Heroku 如何构建应用程序。在本例中,它使用 Docker buildpack根据提供的 构建服务。