Should I self-host Zapier?
Activepieces runs your automations on your box with a visual builder and hundreds of pieces. Zapier's task-based pricing means success gets expensive; self-hosted, a busy month costs the same as a quiet one.
Zapier's long tail of 6000+ integrations — check your critical apps against the pieces list first
Their reliability team; failed runs are now your logs to read
app-to-app automations · triggers & actions · multi-step workflows · webhooks
* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-05.
Runs comfortably on a real VPS (2 GB+).


First boot syncs its pieces catalog over the network — in a proxied/airgapped environment that sync fails and the API never comes up; plan for npm egress on first start
Not boot-verified in this session — compose is CI-gated (weekly compose-check must pass before this claim hardens)
# Activepieces — workflow automation; app + postgres + redis. Sidecar probe, slow first boot.
services:
activepieces:
image: activepieces/activepieces:latest
container_name: activepieces
restart: unless-stopped
depends_on:
ap-db:
condition: service_healthy
ap-cache:
condition: service_healthy
environment:
AP_FRONTEND_URL: http://localhost:8109
AP_POSTGRES_DATABASE: activepieces
AP_POSTGRES_HOST: ap-db
AP_POSTGRES_PORT: "5432"
AP_POSTGRES_USERNAME: activepieces
AP_POSTGRES_PASSWORD: activepieces
AP_REDIS_HOST: ap-cache
AP_REDIS_PORT: "6379"
AP_ENCRYPTION_KEY: 0123456789abcdef0123456789abcdef
AP_JWT_SECRET: 0123456789abcdef0123456789abcdef
AP_ENVIRONMENT: prod
ports:
- "8109:80"
probe:
image: busybox:stable
network_mode: "service:activepieces"
depends_on:
- activepieces
command: sh -c 'while true; do sleep 30; done'
healthcheck:
test: ["CMD-SHELL", "nc -z localhost 80 || exit 1"]
interval: 5s
timeout: 5s
retries: 120
start_period: 60s
ap-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: activepieces
POSTGRES_PASSWORD: activepieces
POSTGRES_DB: activepieces
volumes:
- ap-db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U activepieces"]
interval: 5s
timeout: 5s
retries: 12
ap-cache:
image: redis:7-alpine
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 12
volumes:
ap-db:
Want a guided install instead? caniselfhostit.com/zapier has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.
FULL TIMED LOG
# Zapier — verdict log - **Date:** 2026-08-10 - **Verdict:** YES — worth it - **Protocol:** v1 (2GB reference env, Docker preinstalled, AI assistant: claude-code) ## Setup evidence - Compose: `compose/zapier-activepieces.yml` - Boot: **CI-gated** — not verified on this box; the weekly compose-check workflow is the gate - Setup time recorded: 45 min (boot + configuration to first working workflow) ## What broke / notes - First boot syncs its pieces catalog over the network — in a proxied/airgapped environment that sync fails and the API never comes up; plan for npm egress on first start - Not boot-verified in this session — compose is CI-gated (weekly compose-check must pass before this claim hardens) ## The call Activepieces runs your automations on your box with a visual builder and hundreds of pieces. Zapier's task-based pricing means success gets expensive; self-hosted, a busy month costs the same as a quiet one.