用 Activepieces 免费自建你的 Zapier:5 分钟部署全记录
【免费下载链接】activepiecesAI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/ac/activepieces
想在自有机器上把跨应用自动化收归自己手里的人,值得看这个开源 Zapier 替代。读完你能用 Docker 起一套四容器栈,并在自己的 Builder 里跑通第一条"触发器 → 动作"的跨应用流程。
项目名片
| 项 | 说明 |
|---|---|
| 解决什么 | 跨应用工作流自动化(触发、动作、过滤、分支),自托管、数据在自家数据库 |
| 协议 | 社区版 MIT;企业特性单独商业协议 |
| 部署方式 | Docker Compose(官方主推)、Helm/K8s |
| 集成数 | 200+ pieces,280+ 可直接当 MCP server 用,全部 TypeScript 写、发在 npm |
和 Zapier 对照一句话:同一套"触发器带动作"的思路,但没有任务配额、数据不出机器,不再逐项对比。
🚀 跑通第一条流程:部署 → 配置 → 建流程 → 验证
1. 部署
前置:Docker Compose v2(老版docker-compose不行)、至少 2 vCPU / 4 GB 内存。
git clone --depth 1 https://gitcode.com/GitHub_Trending/ac/activepieces cd activepieces sh tools/deploy.sh # 复制 .env.example 为 .env 并填充随机密钥,依赖 openssl docker compose -p activepieces up -d仓库的docker-compose.yml定义四个服务,裁剪后长这样(worker 副本数按小机器裁成 1,并顺手修掉 worker 连不上 app 的坑):
services: app: image: ghcr.io/activepieces/activepieces:0.89.0 restart: unless-stopped ports: - '8080:80' depends_on: [postgres, redis] env_file: .env environment: - AP_CONTAINER_TYPE=APP networks: [activepieces] worker: image: ghcr.io/activepieces/activepieces:0.89.0 restart: unless-stopped depends_on: [app] env_file: .env environment: - AP_CONTAINER_TYPE=WORKER - AP_FRONTEND_URL=http://app networks: [activepieces] postgres: image: pgvector/pgvector:0.8.0-pg14 restart: unless-stopped env_file: .env environment: - 'POSTGRES_DB=${AP_POSTGRES_DATABASE}' - 'POSTGRES_USER=${AP_POSTGRES_USERNAME}' - 'POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD}' volumes: [postgres_data:/var/lib/postgresql/data] networks: [activepieces] redis: image: redis:7.0.7 restart: unless-stopped volumes: [redis_data:/data] networks: [activepieces] volumes: postgres_data: redis_data: networks: activepieces:做完应看到:docker compose -p activepieces ps里app、worker、postgres、redis四个容器全部Up。
2. 初始配置
grep -E '^(AP_ENCRYPTION_KEY|AP_JWT_SECRET|AP_POSTGRES_PASSWORD)=' .env三项都应有值;deploy.sh缺 openssl 时会静默留空,遇到就装好再跑一次。AP_ENCRYPTION_KEY是连接凭据的解密密钥,丢了连数据库备份也救不回旧连接,.env要随数据一起备份。另外注意:数据在postgres_datavolume 里,不在项目目录,备份目录等于没备。
做完应看到:curl -I http://localhost:8080/api/v1/health返回 200。
3. 建流程
打开http://localhost:8080,注册的第一个账号即平台管理员(没有默认账号密码)。New Flow → 选触发器(Webhook、定时、Sheets 新行等)→ 加动作步骤(Code、HTTP、Slack 任选)→ 保存并激活。步骤支持分支、循环、代码块和人工输入,公式可直接引用上一步输出。
做完应看到:Platform Admin → Infrastructure → Workers 列表里至少有 1 个 worker。列表为空说明 worker 没连上 app,直接查下面排障表。
📋 拆一个真实场景:新订单自动通知
Google Sheets 新增行 → 按金额过滤 → Slack 通知,四步走透:
- 触发:Google Sheets 的 "When a Row is Added",选目标 sheet 完成授权
- 过滤:加一个分支步骤,条件
amount >= 1000才继续,字段用公式引用触发输出 - 动作:Slack "Send a Message",消息体用行内字段拼好,发到指定频道
- 输出:大单落在 Slack 频道,小单静默结束,运行记录里每步的输入输出都可查
这套"新记录 → 阈值过滤 → 通知"模式可以原样平移到线索捕获、监控告警、工单分派。
⚙️ 配置与排障速查
| 环境变量 | 默认值 | 什么时候需要改 |
|---|---|---|
AP_FRONTEND_URL | http://localhost:8080 | 开 webhook / 应用触发前必须改成外部可达地址 |
AP_ENCRYPTION_KEY | 空 | 必填,openssl rand -hex 16生成 |
AP_JWT_SECRET | 空 | 必填,openssl rand -hex 32生成 |
AP_EXECUTION_MODE | UNSANDBOXED | 要跑用户代码时换沙箱策略;ee版只接受SANDBOX_* |
AP_TRIGGER_DEFAULT_POLL_INTERVAL | 5(分钟) | 轮询类触发器要更及时时调小 |
AP_FLOW_TIMEOUT_SECONDS | 600 | 有 agent、大任务等长步骤时调大 |
AP_WEBHOOK_TIMEOUT_SECONDS | 30 | 同步 webhook 超时;Cloudflare 前会卡在 30 秒 |
AP_TELEMETRY_ENABLED | true | 不想发匿名遥测就置false |
完整清单见环境变量文档。真会踩的三个坑:
- Workers 页一直为空、日志刷
Socket.IO connection error:worker 的AP_FRONTEND_URL写了localhost,在容器里那指的是它自己;给 worker 单独覆盖成http://app(Docker 网络内服务名),app 自身保持公网地址。 - 8080 端口被占:改
.env里的AP_HOST_PORT重启,别动AP_PORT——那是容器内部监听端口,改了映射直接坏。 - 恢复备份后旧连接读不出来:只备了库没备
.env,解密密钥在.env里,两者必须一起归档。
四容器Up、health 返回 200,开头承诺的"5 分钟跑通"即完成。下一步:流程量上来后看独立 Worker 配置做水平扩展;部署细节有疑问查Docker Compose 部署文档,复现不了的 bug 去仓库提 issue。
【免费下载链接】activepiecesAI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/ac/activepieces
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考