listmonk is a standalone, self-hosted, newsletter and mailing list manager. It is fast, feature-rich, and packed into a single binary. It uses a PostgreSQL database as its data store.
Visit listmonk.app for more info. Check out the live demo.
This is a fork of listmonk with the following additions:
All system notification e-mails (opt-in confirmation, campaign status, password reset, import status, etc.) are now exposed in the Templates UI as a first-class system type.
- System templates appear in the Templates list tagged system and can be previewed and edited just like campaign or transactional templates.
- They are seeded automatically on first install and on every startup (idempotent insert — existing edits are preserved).
- Clone and delete are disabled for system templates to prevent accidentally breaking required notifications.
- The 8 built-in system templates are:
base,subscriber-optin,subscriber-optin-campaign,campaign-status,subscriber-data,forgot-password,import-status,smtp-test.
The latest image is available on DockerHub at listmonk/listmonk:latest.
Download and use the sample docker-compose.yml.
# Download the compose file to the current directory.
curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml
# Run the services in the background.
docker compose up -dVisit http://localhost:9000
- Download the latest release and extract the listmonk binary.
./listmonk --new-configto generate config.toml. Edit it../listmonk --installto setup the Postgres DB (or--upgradeto upgrade an existing DB. Upgrades are idempotent and running them multiple times have no side effects).- Run
./listmonkand visithttp://localhost:9000
listmonk is free and open source software licensed under AGPLv3. If you are interested in contributing, refer to the developer setup. The backend is written in Go and the frontend is Vue with Buefy for UI.
listmonk is licensed under the AGPL v3 license.

