Publishing, checked 2026-09-07

listmonk: Docker configuration reference

Self-hosted newsletter and mailing list manager with a Postgres backend and a visual email builder.

At a glance

Ports

Ports
PortWhat listensSource
9000HTTP listener for the admin UI, the public subscriber pages and the API. Route the proxy here.source for port 9000

Environment variables

Environment variables
VariableRequiredWhat it doesExampleSource
LISTMONK_app__addressNoInterface and port the app listens on inside the container. Mirrors the app.address key in config.toml.0.0.0.0:9000source for LISTMONK_app__address
LISTMONK_db__hostYesPostgres host, one of the LISTMONK_db__* variables that together mirror the [db] section of config.toml.dbsource for LISTMONK_db__host
LISTMONK_ADMIN_USERNoIf set together with LISTMONK_ADMIN_PASSWORD on the very first docker compose up, the super admin user is created automatically. Otherwise it is set up on first visit to the web UI.adminsource for LISTMONK_ADMIN_USER
LISTMONK_ADMIN_PASSWORDNoPaired with LISTMONK_ADMIN_USER for first-run super admin creation. Has no effect after the admin account already exists.a strong random passwordsource for LISTMONK_ADMIN_PASSWORD

Volumes that must persist

Volumes
PathWhat is in itSource
/var/lib/postgresql/data (db)The entire dataset: subscribers, lists, campaigns and templates. The listmonk app container itself is stateless.source for /var/lib/postgresql/data
/listmonk/uploadsOptional local storage for the media library, only used once Admin, Settings, Media is pointed at this path instead of S3.source for /listmonk/uploads

Behind a reverse proxy

What it needs alongside it

Dependencies
DependencyWhySource
PostgreSQLRequired application database. The bundled compose file pairs listmonk with postgres:17-alpine.source for PostgreSQL

Release timeline

Releases
VersionDateBreakingWhat changedSource
v6.2.02026-06-26NoSecurity fixes for campaign and list permission validation in multi-user environments, plus inline CID images and trusted redirect URLs.source for release v6.2.0
v6.1.02026-03-29NoSecurity fixes for campaign and list permission validation, a new campaigns:send permission separate from campaigns:manage, and S3 media proxying.source for release v6.1.0
v6.0.02026-01-02NoMajor release adding TOTP two-factor authentication, a forgot-password flow, list archiving and CORS origin configuration.source for release v6.0.0
v5.1.02025-09-09NoSecurity update for a CSRF issue, CVE-2025-58430, along with minor bug fixes.source for release v5.1.0
v5.0.32025-07-06NoFixed SMTP errors not being captured and displayed while sending test mails.source for release v5.0.3

If it is not coming up

Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-09-07. Every row links the page it came from. Upstream changes without telling anyone, so check the source link before you rely on a value.

Other app references

All app references