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.
The latest image is available on DockerHub at
listmonk/listmonk:latest. Use the sample docker-compose.yml to run listmonk and Postgres DB with docker-compose as follows:
mkdir listmonk-demo sh -c "$(curl -fsSL https://raw.githubusercontent.com/knadh/listmonk/master/install-demo.sh)"
The demo does not persist Postgres after the containers are removed. DO NOT use this demo setup in production.
Easy Docker install
This setup is recommended if you want to quickly setup
listmonk in production.
mkdir listmonk sh -c "$(curl -fsSL https://raw.githubusercontent.com/knadh/listmonk/master/install-prod.sh)"
The above shell script performs the following actions:
docker-compose.ymland generates a
- Runs a Postgres container and installs the database schema.
- Runs the
NOTE: It’s recommended to examine the contents of the shell script, before running in your environment.
Manual Docker install
The following workflow is recommended to setup
listmonk manually using
docker-compose. You are encouraged to customise the contents of
docker-compose.yml to your needs. The overall setup looks like:
docker-compose up dbto run the Postgres DB.
docker-compose run --rm app ./listmonk --installto setup the DB (or
--upgradeto upgrade an existing DB).
config.toml.sampleto your directory and make the following changes:
0.0.0.0:9000(Port forwarding on Docker will work only if the app is advertising on all interfaces.)
listmonk_db(Container Name of the DB container)
docker-compose up appand visit
More information on docs.
- Download the latest release and extract the listmonk binary.
./listmonk --new-configto generate config.toml. Then, edit the file.
./listmonk --installto setup the Postgres DB (or
--upgradeto upgrade an existing DB. Upgrades are idempotent and running them multiple times have no side effects).
listmonk is a 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.