在前文使用自动化工作流聚合信息摄入和输出中,我介绍了如何在 NAS 提供的 Docker 环境安装 n8n,以及 n8n workflow 的使用方式。经过 3 个月的使用,我有了一些新的体会和尝试,重新设计了 n8n 的部署方案。本文将对这套新的方案进行说明,并分享数据迁移和第三方服务接入的实践。
系统架构图
我们所要搭建的这套服务有着如图所示的系统关系。
首先我们要在Supabase上注册一个账号,登入之后,点击 New project 创建新的数据库,命名为 n8n,注意要记住创建流程中输入的密码。
定位到 Project settings / Database / Connection info,将图中的信息记录下来即可进入下一步。
在 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
两个文件,稍后我们会用到。