业务自动化工具Automatisch

在这里插入图片描述

什么是 Automatisch ?

Automatisch 是一种开源的 Zapier 替代业务自动化工具,可让您连接不同的服务,如 TwitterSlack 等,以自动化您的业务流程。您可以使用 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_KEYWEBHOOK_SECRET_KEYAPP_SECRET_KEY3key 值,可以用 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 就能看到登录界面

在这里插入图片描述

缺省的用户:[email protected],密码:sample,请不要忘记从设置页面更改您的电子邮件和密码;

主界面

在这里插入图片描述

右上角 Create flow

在这里插入图片描述

设置 Trigger

app 选择 RSSevent 选择 New items in feed

在这里插入图片描述

Feed URL 还是以老苏的博客的 RSS 为例,输入 https://laosu.cf/atom.xml

在这里插入图片描述

Test 一下,如果没问题时会有返回的

在这里插入图片描述

触发 Action

app 选择 SMTPevent 选择 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

猜你喜欢

转载自blog.csdn.net/wbsu2004/article/details/132707026