
Should I self-host ActiveCampaign?
The email+automation core moves to listmonk (newsletters) or Mautic (drip logic) — but ActiveCampaign is genuinely an automation suite, and Mautic is the ops-heaviest thing in this category. Worth it if your flows are simple; if you live in their journey builder, the migration will hurt.
The math (nothing hidden, including your time)
| ActiveCampaign (Starter) | $19.00/mo |
| VPS share + storage | −$1.00/mo |
| Your maintenance: 45 min/mo at $20/h | −$15.00/mo |
| Net saving | $3.00/mo |
| Setup: 60 min measured (one-time) | $20.00 |
| Break-even | 6.7 months |
| Markup Index (price ÷ real self-host cost) | 1.2× |
Price: source, checked 2026-08-06. Inputs are stored in git; every number above is derived, never hand-written.
What you lose
- Journey-builder depth Mautic approximates but doesn't match
- Deliverability babysitting becomes your job
What you're paying ActiveCampaign for
- email marketing
- drip automations
- CRM-lite
- segmentation

Ranked alternatives
Contacts, segments, drip campaigns, forms and site tracking on your own hostname, with the sending handed to a relay you pick.
Your mailing list, your campaigns and your click stats out of one Go binary, with the sending handed to an SMTP relay you pick.
Hardware
Runs comfortably on a real VPS (2 GB+).
The tested compose file (our evidence, CI-booted)
# listmonk — newsletter + mailing lists (replaces Mailchimp's list half; you still need an
# SMTP relay like SES/Postmark for deliverability — that cost is in the verdict math notes)
services:
listmonk:
image: listmonk/listmonk:latest
container_name: listmonk
restart: unless-stopped
depends_on:
listmonk-db:
condition: service_healthy
command: [sh, -c, "./listmonk --install --idempotent --yes && ./listmonk"]
environment:
LISTMONK_app__address: 0.0.0.0:9000
LISTMONK_db__host: listmonk-db
LISTMONK_db__port: "5432"
LISTMONK_db__user: listmonk
LISTMONK_db__password: listmonk
LISTMONK_db__database: listmonk
LISTMONK_db__ssl_mode: disable
ports:
- "9000:9000"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:9000/health >/dev/null || exit 1"]
interval: 5s
timeout: 5s
retries: 24
start_period: 20s
listmonk-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: listmonk
POSTGRES_PASSWORD: listmonk
POSTGRES_DB: listmonk
volumes:
- listmonk-pg:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U listmonk"]
interval: 5s
timeout: 5s
retries: 12
volumes:
listmonk-pg:
Want a guided install instead? caniselfhostit.com/activecampaign 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 60 min · AI assistant: claude-code (allowed & stated)
Full timed log
# ActiveCampaign — verdict log - **Date:** 2026-08-10 - **Verdict:** KINDA — worth it if… - **Protocol:** v1 (2GB reference env, Docker preinstalled, AI assistant: claude-code) ## Setup evidence (shared) - This verdict rides on the same replacement verified for `mailchimp-listmonk` — see `compose/mailchimp-listmonk.yml` and its log. ## The call The email+automation core moves to listmonk (newsletters) or Mautic (drip logic) — but ActiveCampaign is genuinely an automation suite, and Mautic is the ops-heaviest thing in this category. Worth it if your flows are simple; if you live in their journey builder, the migration will hurt.
Verdict history
- 2026-08-10: unscored → KINDA — Initial verdict: The email+automation core moves to listmonk (newsletters) or Mautic (drip logic) — but ActiveCampaign is genui.
