使用 Railway 和 Supabase 零成本搭建 n8n 自动化平台

在前文使用自动化工作流聚合信息摄入和输出中,我介绍了如何在 NAS 提供的 Docker 环境安装 n8n,以及 n8n workflow 的使用方式。经过 3 个月的使用,我有了一些新的体会和尝试,重新设计了 n8n 的部署方案。本文将对这套新的方案进行说明,并分享数据迁移和第三方服务接入的实践。

系统架构

使用 Railway 和 Supabase 零成本搭建 n8n 自动化平台_第1张图片

系统架构图

我们所要搭建的这套服务有着如图所示的系统关系。

  • Cloudflare: CDN 和 Proxy,用于加速网站访问,可选组件
  • Railway: PaaS 平台,提供 Docker 环境运行 n8n 的后端进程
  • Supabase: 作为数据库供 n8n 使用

完整部署流程

Supabase: 创建数据库

首先我们要在Supabase上注册一个账号,登入之后,点击 New project 创建新的数据库,命名为 n8n,注意要记住创建流程中输入的密码。

定位到 Project settings / Database / Connection info,将图中的信息记录下来即可进入下一步。

使用 Railway 和 Supabase 零成本搭建 n8n 自动化平台_第2张图片

GitHub: 创建 Repo

在 Railway 上部署服务最便捷的方式就是关联一个 GitHub repo

这个 repo 的内容非常简单,其中最核心的就是 Dockerfile ,只有一行代码:

FROM reorx/n8n-custom

它的作用是基于reorx/n8n-custom定义新的镜像。Railway 会使用这个 Dockerfile 来自动构建和部署服务。

reorx/n8n-custom是我个人维护的镜像,基于版本 0.193.5 构建,目的是提前使用 PR 的代码,以解决无法接入 Twitter 的问题。如果你对安全性有所担忧,也可以使用官方镜像 n8nio/n8n 。

Repo 中还有 example.env 和 export_workflow.sh 两个文件,稍后我们会用到。

<

你可能感兴趣的:(自动化,系统架构,运维,java,开发语言)