Files
docker-compose-cookbooks/listmonk
2026-05-08 13:14:01 +00:00
..
2026-05-08 13:14:01 +00:00
2026-05-08 13:14:01 +00:00
2026-05-08 13:14:01 +00:00

listmonk

Overview

Self-hosted newsletter and mailing list manager powered by PostgreSQL. This stack deploys listmonk with persistent storage, automatic database initialization/upgrades, and support for reverse proxy integration.

Project Details

Environment Variable Notes

Most variables are optional because sane defaults are already included in the compose file.

Database

POSTGRES_IMAGE  PostgreSQL container image
POSTGRES_RESTART  Restart policy for PostgreSQL
POSTGRES_USER  PostgreSQL username
POSTGRES_PASSWORD  PostgreSQL password
POSTGRES_DB  PostgreSQL database name

listmonk

LISTMONK_IMAGE  listmonk container image
LISTMONK_RESTART  Restart policy for listmonk
LISTMONK_PORT  Web UI / proxy port
LISTMONK_HOSTNAME  Container hostname
LISTMONK_SSLMODE  PostgreSQL SSL mode
LISTMONK_MAX_OPEN  Maximum open DB connections
LISTMONK_MAX_IDLE  Maximum idle DB connections
LISTMONK_MAX_LIFETIME  DB connection lifetime

Initial Admin User

These are only used during first startup.

LISTMONK_ADMIN_USER  Initial admin username
LISTMONK_ADMIN_PASSWORD  Initial admin password

General

VOL_PATH  Base path for persistent storage
TZ  Container timezone

Volume Notes

/data/listmonk/db
    PostgreSQL database storage

/data/listmonk/uploads
    listmonk uploads and media storage

Back up both directories regularly.

Network Notes

Requires an external Docker network named:

proxy

Create it manually if it does not already exist:

docker network create proxy

Internal application traffic uses the private:

listmonk

bridge network.

Additional Notes / Gotchas

  • The stack automatically runs:

    • database installation
    • schema upgrades
    • application startup

    on container launch.

  • The install and upgrade commands are idempotent and safe to rerun.

  • Change all default passwords before exposing publicly.

  • Designed for use behind a reverse proxy such as Traefik, Caddy, Nginx Proxy Manager, or SWAG.

Dockhand Stack, Deploy from Git

Cookbooks Repository

stackname: listmonk
Compose file path: listmonk/compose.yaml
Additional env file (optional): listmonk/sample.env

Then load:

listmonk/sample.env

into the Environmental Variables section in Dockhand.

Create the Stack.