Workflow Automation Intermediate

Self-Host Activepieces as Your Zapier Alternative

Install Activepieces with the official Docker Compose stack (Postgres + Redis), set a public HTTPS URL, back up encryption keys, and ship your first CRM→Slack flow.

1–2 hours Octacer Team September 27, 2026
Self-Host Activepieces as Your Zapier Alternative

What you will have live

By the end of this playbook you will have:

  • Activepieces self-hosted with PostgreSQL + Redis (the production path — not the hobbyist single-container embed)
  • HTTPS (or at least a stable AP_FRONTEND_URL) so webhooks work
  • Secrets (AP_ENCRYPTION_KEY, AP_JWT_SECRET, DB password) backed up offline
  • A first Zapier-replacement flow: CRM/form event → Slack alert (or Sheet append)
  • Sign-up locked down after the first admin; workers visible in Platform Admin

Official install: Self Host Activepieces (Docker Compose). Prefer that over random blog compose files.


Prerequisites

  1. VPS — Activepieces asks for roughly 2 vCPU / 4 GB RAM minimum for the Compose stack.
  2. Docker Compose v2 (docker compose version must work — Compose v1 will not).
  3. Domain (recommended) — e.g. flows.yourdomain.com A-record → VPS. Webhooks need a URL third parties can reach.
  4. Ports 80/443 open if you terminate TLS on-box; or terminate at Cloudflare and proxy to host port 8080.
  5. Accounts for the first flow: Slack workspace + HubSpot/Pipedrive/Google Sheets (whatever you are replacing in Zapier).
  6. Password manager for .env secrets.

Step 1 — DNS


SSH to the VPS, then in the directory where you want the stack:

curl -fsSL https://get.activepieces.com | sh

Options from the docs:

  1. 1

    Port and Directory Options

    --port 8090 if 8080 is taken
    --dir /opt/activepieces to choose the folder

  2. 2

    Four Containers Started

    The script writes config, generates secrets, and starts four containers: app, worker, postgres, redis.

  3. 3

    Manual Install Path

    Prefer not to pipe a remote script? Use the manual path in the same docs page: clone activepieces/activepieces, run sh tools/deploy.sh, verify secrets with grep, then docker compose -p activepieces up -d.


Step 3 — Verify health and workers

docker compose -p activepieces ps
curl http://localhost:8080/api/v1/health

All four should be Up. Open http://SERVER:8080 (or your HTTPS URL).

  1. Create the first account — it becomes platform admin (no default password).
  2. Open Platform Admin → Operations → Workers. You must see at least one worker.
  3. If Workers is empty: worker cannot reach the app. Official fix — give the worker service AP_FRONTEND_URL=http://app while the app’s public AP_FRONTEND_URL stays your real domain (see Activepieces troubleshooting).

Step 4 — Set public URL + HTTPS

  1. In .env, set AP_FRONTEND_URL to https://flows.yourdomain.com (no trailing path surprises).
  2. Put a reverse proxy (Caddy, Traefik, Nginx, or Cloudflare) in front of host port 8080 / AP_HOST_PORT.
  3. Restart: docker compose -p activepieces up -d.
  4. Confirm webhooks: create a test Webhook trigger piece and POST to the public URL.

Step 5 — First Zapier-alternative business flow

Goal: when a new HubSpot deal (or Google Form → Sheet row) appears, post a Slack message to #revops.

  1. 1

    Build First Business Flow

    In Activepieces, Create Flow.
    Trigger: HubSpot “new deal” (or Schedule + Sheet “new row” if CRM OAuth is blocked today).
    Action: Slack “Send channel message” with deal name, amount, owner, link.
    Connect accounts via Activepieces connections UI (OAuth) — never paste long-lived tokens into piece fields when OAuth exists.
    Publish/enable the flow.
    Create a test deal named AP TEST and confirm Slack fires once.

  2. 2

    Migrate Next Zaps

    That is your first migrated Zap. Next migrations: lead routing, enrichment, and approval-gated updates (add a human approval piece or route writes through n8n HITL if you already standardized there).


Step 6 — Production harden

Control Action
Sign-up Disable open registration after admins exist (AP_SIGN_UP_ENABLED / platform settings — confirm current variable in Environment Variables)
Secrets Vault copy of AP_ENCRYPTION_KEY, AP_JWT_SECRET, AP_POSTGRES_PASSWORD
Backups pg_dump the postgres container on a schedule; store off-box; test restore
Workers Default replicas may be high for a small VPS — right-size per Production Setup docs
Updates Version is pinned (AP_VERSION / image tag); upgrade via official --upgrade path; read breaking changes
Edition Community by default; only set AP_EDITION=ee if you have a license path and follow sandbox mode rules (SANDBOX_CODE_ONLY vs rejected UNSANDBOXED)
Network Do not expose Postgres/Redis ports publicly
Permissions Limit who can edit production flows; use folders/projects if your edition supports them

Go-live checklist

  • [ ] Health endpoint OK; four containers Up
  • [ ] Workers page shows ≥1 worker
  • [ ] AP_FRONTEND_URL is HTTPS public URL
  • [ ] .env backed up offline (especially encryption key)
  • [ ] First Slack (or Sheet) flow published and tested
  • [ ] Open sign-up disabled (or SSO only)
  • [ ] Postgres dump job exists
  • [ ] Owner documented for upgrades

Pitfalls

  • Hobbyist PGLITE in production — dead end for teams; start on Compose.
  • Losing AP_ENCRYPTION_KEY — connections become permanent garbage.
  • Worker AP_FRONTEND_URL=localhost — empty Workers page / socket errors.
  • Compose v1 — install fails; use Compose v2.
  • ngrok forever — fine for a demo; not a production webhook URL.
  • Migrating every Zap day one — move the top 3 revenue-critical Zaps first; keep Zapier as fallback for a week.

FAQ

Activepieces vs n8n?
Both self-host well. Activepieces leans piece/Zapier-shaped UX; n8n is stronger today for AI Agent + HITL tool gates. Many teams run Activepieces for classic automations and n8n for agentic ops.

Can I keep using Zapier MCP for Claude?
Yes — different layer. Activepieces replaces scheduled/event Zaps; Zapier MCP is chat-time tool calls.


Next step

Continue Your Stack

Add protocol-native CRM tools with Business MCP Starter Pack, or agentic ops with n8n self-host.

Need a migration plan off Zapier? Solutions · Architecture · Contact.

Ready to Implement This Playbook?

Our team can implement these strategies for you, tailored to your specific business needs.

Schedule Consultation