automation-dev
Zapier logo

Should I self-host Zapier?

YESworth it

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.

The math (nothing hidden, including your time)

Zapier (Professional)$29.99/mo
VPS share + storage−$1.00/mo
Your maintenance: 30 min/mo at $20/h−$10.00/mo
Net saving$18.99/mo
Setup: 45 min measured (one-time)$15.00
Break-even0.8 months
Markup Index (price ÷ real self-host cost)2.7×

Price: source, checked 2026-08-05. Inputs are stored in git; every number above is derived, never hand-written.

What you lose

  • 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

What you're paying Zapier for

  • app-to-app automations
  • triggers & actions
  • multi-step workflows
  • webhooks
Activepieces running from the boot-verified compose file
Activepieces, running from the compose file on this page — screenshot from our verified instance, not marketing material.

Ranked alternatives

Trigger-and-action automation with a visual builder, run on your own box, with no task meter.

activepieces/activepieces · ★ 23,710 · last commit 0d ago · MIT

Hardware

Runs comfortably on a real VPS (2 GB+).

The tested compose file (our evidence, CI-booted)

# 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.

Verification

Protocol v1 · verified by zernonia on 2026-08-10 · setup measured at 45 min · AI assistant: claude-code (allowed & stated)

What broke

  • 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)
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.

Verdict history

  • 2026-08-10: unscored → YES — Initial verdict: Activepieces runs your automations on your box with a visual builder and hundreds of pieces.