What Is Listmonk?
Listmonk is a self-hosted newsletter and mailing list manager. It handles subscriber management, campaign creation, and email delivery — an alternative to Mailchimp or ConvertKit.
Requirements
- A Breeze with at least 1 GB RAM
- Docker and Docker Compose
- An SMTP provider (Amazon SES, SendGrid, or your own Postfix)
Docker Compose Setup
mkdir -p /opt/listmonk && cd /opt/listmonk
cat > docker-compose.yml <<'EOF'
services:
listmonk:
image: listmonk/listmonk:latest
restart: unless-stopped
ports:
- "9000:9000"
environment:
- TZ=America/New_York
volumes:
- ./config.toml:/listmonk/config.toml
depends_on:
- db
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: listmonk
POSTGRES_USER: listmonk
POSTGRES_PASSWORD: listmonk_password
volumes:
- listmonk-db:/var/lib/postgresql/data
volumes:
listmonk-db:
EOFConfiguration
cat > config.toml <<'EOF'
[app]
address = "0.0.0.0:9000"
admin_username = "admin"
admin_password = "changeme"
[db]
host = "db"
port = 5432
user = "listmonk"
password = "listmonk_password"
database = "listmonk"
ssl_mode = "disable"
EOF
# Initialize the database
docker compose run --rm listmonk ./listmonk --install
docker compose up -dFeatures
- Multi-list subscriber management
- Rich HTML email editor
- Template system
- Campaign scheduling
- Analytics (opens, clicks, bounces)
- REST API for integrations
- Import/export subscribers