knadh/listmonk

DevOps & Self-hosting

Self-host newsletter and mailing-list campaigns with segmentation, templates and multi-SMTP sending from one binary.

24,095
2,736
Go
AGPL-3.0
7 years old

listmonk is a standalone, self-hosted newsletter and mailing-list manager: a single Go binary plus a PostgreSQL database, with a web dashboard for managing subscribers, campaigns and sending. It suits people who want to run their own mailing infrastructure rather than hand lists and sending off to a hosted email-marketing service.

What the workflow looks like

You deploy the binary (or the Docker image), point it at PostgreSQL, create a config, and run the install step to set up the schema; --upgrade migrates an existing database and is documented as idempotent. Then you manage lists, subscriber attributes, templates and campaigns in the dashboard at the local port, and sending goes out through SMTP servers you configure. Installation docs cover both paths; a live demo shows the interface without any setup.

What makes the sending model different

The author's account of why it was built is the clearest explanation of the mechanism: campaigns can spawn many concurrent workers and push mail to multiple SMTP servers, and subscribers can be segmented with SQL expressions over attributes stored as JSON maps. That combination is what lets one installation target large, finely sliced audiences -- the author cites 1.5M+ emails from a commodity EC2 instance in their original use case at a regulated financial business author's 2019 comment. Treat that as the author's report from an earlier version and their own infrastructure, not a benchmark you can assume for your setup.

Requirements and constraints

  • PostgreSQL is mandatory. It is the data store, so self-hosting means operating a database alongside the app, not just the binary repository README.
  • Delivery quality is your responsibility. listmonk sends through SMTP servers you supply; the README does not describe deliverability certification or inbox-placement guarantees. One 2019 commenter asked about sender certification for high-volume sending, and the author's reply focused on Postfix, SES/Postal and rate settings rather than certification thread.
  • Two install paths. Docker Compose is the quickest route (sample file and docker compose up -d); the binary route requires generating a config and running --install or --upgrade against the database README.
  • Licence. AGPL-3.0, which matters if you plan to modify it and offer it as a network service; review the terms before building on it.

Fit

Good fit if you want campaign management, subscriber attributes, segmentation and multi-SMTP sending under your own control and are comfortable running PostgreSQL. Less suitable if you want a fully hosted service with no database operations, or need documented deliverability tooling built in -- the evidence here does not show that.

Written by AI from the project's README, updated October 31, 2026. The project's own docs are the source of truth.

Hacker News

Show HN: Listmonk – Fast self-hosted newsletter and mailing list manager
▲ 343 · 50 comments · July 12, 2019
ListMonk – High performance, self-hosted newsletter and mailing list manager
▲ 145 · 48 comments · September 2, 2021
Listmonk v4: High performance, self-hosted, newsletter and mailing list manager
▲ 2 · 1 comment · October 27, 2024