什么是 Automatisch ?
Automatisch
是一种开源的Zapier
替代业务自动化工具,可让您连接不同的服务,如Slack
等,以自动化您的业务流程。您可以使用Automatisch
构建工作流程自动化,而无需花费时间和金钱。也不需要任何编程知识。
老苏没用过 Zapier
,但是用过同类型的流程自动化工具 IFTTT
,理念就是 if this then that
,最典型的例子就是「如果明天下雨,那么就提醒我带雨伞」
Automatisch
宣传的是开源 Zapier
替代方案,采用 Automatisch
自托管方式主要好处之一是,它允许您将数据存储在自己的服务器上,这对于处理敏感用户信息且不能冒险与外部云服务共享信息的企业至关重要。
安装
在群晖上以 Docker 方式安装。
将下面的内容保存为 docker-compose.yml
文件
version: '3.9'
services:
main:
image: automatischio/automatisch:latest
container_name: automatischio-web
restart: unless-stopped
#entrypoint: /compose-entrypoint.sh
ports:
- 3048:3000
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
environment:
- HOST=localhost
- PROTOCOL=http
- PORT=3000
- APP_ENV=production
- REDIS_HOST=redis
- POSTGRES_HOST=postgres
- POSTGRES_DATABASE=automatisch
- POSTGRES_USERNAME=automatisch_user
- POSTGRES_PASSWORD=automatisch_password
- ENCRYPTION_KEY=SqsKazDXkNVxuo3hpDz8k5ZHuJn9MYGZ
- WEBHOOK_SECRET_KEY=zmegGnqj76BYxDeEMWT5gQKuEe8uhhi2
- APP_SECRET_KEY=dDbwPkcUSXq6zKTSoya9UGaYscJ9aRTL
volumes:
- ./data:/automatisch/storage
worker:
image: automatischio/automatisch:latest
container_name: automatischio-worker
restart: unless-stopped
#entrypoint: /compose-entrypoint.sh
depends_on:
- main
environment:
- APP_ENV=production
- REDIS_HOST=redis
- POSTGRES_HOST=postgres
- POSTGRES_DATABASE=automatisch
- POSTGRES_USERNAME=automatisch_user
- POSTGRES_PASSWORD=automatisch_password
- ENCRYPTION_KEY=SqsKazDXkNVxuo3hpDz8k5ZHuJn9MYGZ
- WEBHOOK_SECRET_KEY=zmegGnqj76BYxDeEMWT5gQKuEe8uhhi2
- APP_SECRET_KEY=dDbwPkcUSXq6zKTSoya9UGaYscJ9aRTL
- WORKER=true
volumes:
- ./data:/automatisch/storage
postgres:
image: postgres:14
container_name: automatischio-db
restart: unless-stopped
environment:
- POSTGRES_DB=automatisch
- POSTGRES_USER=automatisch_user
- POSTGRES_PASSWORD=automatisch_password
volumes:
- ./pdata:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}']
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis
container_name: automatischio-redis
restart: unless-stopped
volumes:
- ./rdata:/data
automatischio/automatisch
只有一个latest
版本
automatischio-web
容器
可变 | 值 |
---|---|
HOST | HTTP 主机,设为 localhost |
PROTOCOL | HTTP 协议,设为 http |
PORT | HTTP 端口,设为 3000 |
APP_ENV | 环境设置,设为 production |
REDIS_HOST | Redis 主机,设为 redis |
POSTGRES_HOST | 数据库主机,设为 postgres |
POSTGRES_DATABASE | 数据库名称,设为 automatisch |
POSTGRES_USERNAME | 数据库用户,建议修改 |
POSTGRES_PASSWORD | 数据库用户密码,建议修改 |
ENCRYPTION_KEY | 用于存储凭据的加密密钥,建议修改 |
WEBHOOK_SECRET_KEY | 用于验证 Webhook 请求的 Webhook 密钥,建议修改 |
APP_SECRET_KEY | 用于验证用户身份的密钥,建议修改 |
ENCRYPTION_KEY
、WEBHOOK_SECRET_KEY
、APP_SECRET_KEY
这3
个key
值,可以用openssl rand -hex 32
生成;
automatischio-worker
容器
可变 | 值 |
---|---|
APP_ENV | 环境设置,设为 production |
REDIS_HOST | Redis 主机,设为 redis |
POSTGRES_HOST | 数据库主机,设为 postgres |
POSTGRES_DATABASE | 数据库名称,设为 automatisch |
POSTGRES_USERNAME | 数据库用户,建议修改 |
POSTGRES_PASSWORD | 数据库用户密码,建议修改 |
ENCRYPTION_KEY | 用于存储凭据的加密密钥,建议修改 |
WEBHOOK_SECRET_KEY | 用于验证 Webhook 请求的 Webhook 密钥,建议修改 |
APP_SECRET_KEY | 用于验证用户身份的密钥,建议修改 |
WORKER | 是否为 worker 服务 |
automatischio-db
容器
可变 | 值 |
---|---|
POSTGRES_DB | 数据库名称,设为 automatisch |
POSTGRES_USER | 数据库用户,建议修改 |
POSTGRES_PASSWORD | 数据库用户密码,建议修改 |
更多环境变量,请参考官方文档:https://automatisch.io/docs/advanced/configuration
然后执行下面的命令
# 新建文件夹 automatisch 和 子目录
mkdir -p /volume1/docker/automatisch/{data,pdata,rdata}
# 进入 automatisch 目录
cd /volume1/docker/automatisch
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
不出意外的话,会有 4
个容器启动
运行
在浏览器中输入 http://群晖IP:3048
就能看到登录界面
缺省的用户:
user@automatisch.io
,密码:sample
,请不要忘记从设置页面更改您的电子邮件和密码;
主界面
右上角 Create flow
设置 Trigger
app
选择 RSS
,event
选择 New items in feed
Feed URL
还是以老苏的博客的 RSS
为例,输入 https://laosu.cf/atom.xml
Test
一下,如果没问题时会有返回的
触发 Action
app
选择 SMTP
,event
选择 Send an email
邮箱设置
设置 Action
Subject
:邮件主题选择了RSS
中文章的Title
;Body
:邮件的内容选择了RSS
中文章的连接;
Test
一下
看起来一切正常,点 Continue
继续
点左上角起名字,比如 RSS2Email
,点右上角的 PUBLISH
发布
执行 App
在 Executions
中能看到执行情况
打开邮箱,能看到发的测试邮件
当老苏发布了新的文章时,就会收到新的邮件通知了
参考文档
automatisch/automatisch: The open source Zapier alternative. Build workflow automation without spending time and money.
地址:https://github.com/automatisch/automatisch/tree/main
Automatisch - Open Source Zapier Alternative
地址:https://automatisch.io/
What is Automatisch? | Automatisch Docs
地址:https://automatisch.io/docs