type
status
date
slug
summary
tags
category
icon
password
前言
前段时间逛推特的时候,看到 大帅老猿 发推特 bot 的帖子,于是想弄一个 workflow,发布博客以后,自动发送推文以及使用 telegram bot 发送消息到 tg 频道中。一开始想用 IFTTT,因为很早之前就听说过这个工具了,但是注册以后发现它发送推文的那个 applet 必须要充钱才能用,不想花钱的我开始找替代方案,于似乎有了这篇记录。
n8n
n8n 是一个开源的自动化工作流平台,官网提供了很多 template,比如订阅 rss 发送邮件,发送 tg 消息等;n8n 官方提供了云服务,不过没有免费额度,所以需要我们自己搭建一套环境。
环境准备
容器部署平台: northflank(账号需要VISA卡或者万事达卡验证)
数据库:supabase
域名以及DNS:cloudflare
Github 仓库: n8n-on-northflank
数据库
数据库选择 supabase,supabase 是 firebase 的开源替代品,以 postgres 作为存储后端。有免费额度,托管在云上也省去自己运维,加上我自己也就对 pg 用的多一些,熟一些,这完美符合我的需求了。
- 去 supabase 官网,用 Github 账号登录就行。
- 创建一个 project,命名为 n8n,创建时需要填写
Database Password
,把数据库密码保存好,后面需要用到。地区随便选一个吧,自己用影响不大,我直接用的默认的。
- 创建好以后,进入刚创建的 project,侧边栏左下角有
Project settins
,进入以后选择Database
,此时就可以看到数据库的各种连接信息了。
n8n
首先 fork 该仓库 n8n-on-northflank
登录 northflank。同样,也创建一个 Project,选择
Free
计划。- 进入刚创建的 Project,然后点击 Service,创建 Service
- 选择第一个框,
Build and deploy a Git repo
,Repository 处选择前面 fork 的仓库
- Build options 的 Build type 选择
Dockerfile
northflank 会自动识别 Dockerfile 中的端口号,所以点击
Create service
即可。配置环境变量
n8n 还需要配置一系列环境变量,包括数据库连接信息等等。
- 进入刚才创建的 service
- 左边选择
Environment
- 把下面的环境变量挨个拷贝进去
VUE_APP_URL_BASE_API
填写刚才创建的 service 提供的外网域名,是一个类似 p01--n8n--xxcjc64rt64j.code.run
的域名。
WEBHOOK_URL
也填写跟 VUE_APP_URL_BASE_API
一样的域名。DB_POSTGRESDB_PASSWORD
是前面在 supabase 中创建 project 时填写的数据库密码。DB_POSTGRESDB_HOST
、DB_POSTGRESDB_USER
在 supabase 的 Database 设置页面可以查到。添加完环境变量以后重启 service,耐心等待一会就可以访问啦
- 作者:阿杰鲁
- 链接:http://blog.zaunist.com/article/c70a643d-368f-4b59-9d2f-5796aee942a7
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。