Growth Dudes
Join free

✓ VERIFIED Newsletter Drip campaigns No subscriber tax

Listmonk

Send newsletters and drip campaigns from your own server. No subscriber tax, no per-email pricing.

⏱ 20 min ◆◇◇ copy, paste, done ↺ reversible

What it does

Manage subscriber lists, design email campaigns in a visual editor, and send via your own SMTP or a transactional email service. Supports templating, segmentation, and analytics - all from a fast, single-binary app.

Why it's on the shelf

Mailchimp charges $13/month for 500 contacts and scales steeply. Listmonk charges $0 for unlimited contacts. The trade-off: you handle email deliverability (use a service like Resend or Amazon SES for actual sending - both have generous free tiers). For a 10,000-subscriber list, that's $0 vs $110/month.

What it replaces

Mailchimp, ConvertKit, AWeber, Brevo (Sendinblue). Whatever you pay for that today is what this page is here to delete. Worth being honest with yourself first though: if the bill is already small, the answer may still be that this isn't worth your Saturday.

Skip this one if... You don't want a server you're responsible for. Listmonk runs on your own box, which is what makes it free and what makes it yours - but it also means the backups, the updates and the 11pm restart are on you. If that's a no, close the tab; it'll cost you 20 min to find out the hard way.

Setting it up

These are the steps in order. The time on the bar above is what this took us end to end, including the reading.

  1. Install Docker on your VPS
  2. Pull the Listmonk image and generate a config file
  3. Edit the config with your Postgres connection and SMTP settings
  4. Run docker-compose up -d
  5. Visit your domain, create your admin account, import subscribers

The code

The actual configuration, not a sketch of one. The highlighted lines are the ones you have to change.

What this doesListmonk needs Postgres. Here's the minimal setup.
docker-compose.yml
services:  listmonk:    image: listmonk/listmonk:latest    ports: ["9000:9000"]    environment:      - LISTMONK_app__address=0.0.0.0:9000      - LISTMONK_db__host=db      - LISTMONK_db__user=listmonk      - LISTMONK_db__password=change-me  ← set a password    depends_on: [db]  db:    image: postgres:16
Before you run this Email deliverability is your responsibility. Use a transactional email provider (Resend free tier: 3,000/month, Amazon SES: 62,000 free/month from EC2) rather than your VPS's built-in SMTP.

What it costs to run

Runs on a $5/month VPS (1GB RAM). Needs Postgres.

This keeps working without us Listmonk runs on your own box under the AGPL-3.0, with your data in your own database. If Growth Dudes stops existing tomorrow, nothing on this page stops working. That is deliberate, and it's the only promise here we can actually keep.

Field notes

What people found when they actually ran it - dated, named and specific, including the times our setup number turned out to be optimistic.

Nobody has posted one for Listmonk yet.

We're not going to invent them. Run it, then tell the room what actually happened - the time you got, and the step that wasn't in the instructions.

Join and post one

NEXT

Others people run alongside it