Open the server Apps tab
Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.


High-performance newsletter and mailing list manager
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Listmonk template in Server Compass to deploy a self-hosted newsletter and mailing list manager with PostgreSQL on your VPS, then verify the Listmonk web UI in a browser.
Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Use the template picker search to find Listmonk in the Server Compass template catalog.

Choose the Listmonk template. Server Compass fills in the Listmonk web service, setup job, PostgreSQL database, generated database password, and mapped browser port.

Confirm the app name and compose services. In this run, the app was named listmonk-demo and used host port 9000.

Review the generated environment values, confirm the port is available, and click Deploy Now.

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Listmonk image, starts the container, and verifies the stack.

After deployment finishes, return to the Apps tab and confirm the Listmonk app is marked Running with its application URL available.

Open the application URL in a browser. The Listmonk web UI confirms the mailing list manager is reachable.

It deploys Listmonk with PostgreSQL and a one-time setup container that initializes the database schema.
The tutorial used host port 9000, which maps to the Listmonk web service on container port 9000.
The tutorial verifies the clean Listmonk web UI because SMTP, sender domains, lists, templates, and user settings depend on the production instance.
No. The deployment guide should live on the Listmonk template detail page and be linked from the reusable template deployment docs page.
Get your hands dirty: manual Listmonk deployment guide for developers.
Fire up your terminal application and establish a connection to your remote server.
# Access your VPS
ssh root@YOUR_SERVER_IP
# With SSH key authentication
ssh -i ~/.ssh/your-private-key root@YOUR_SERVER_IPFirst time? Ensure Docker is installed first: curl -fsSL https://get.docker.com | sh
Create a folder to house your Docker Compose configuration.
# Create and navigate to project directory
mkdir -p ~/apps/listmonk
cd ~/apps/listmonkDefine your services in a docker-compose.yml file:
services:
listmonk_setup:
image: listmonk/listmonk:latest
environment:
- LISTMONK_app__address=0.0.0.0:9000
- LISTMONK_db__host=db
- LISTMONK_db__port=5432
- LISTMONK_db__user=listmonk
- LISTMONK_db__password=<your-db-password>
- LISTMONK_db__database=listmonk
depends_on:
db:
condition: service_healthy
command: ["./listmonk", "--install", "--idempotent", "--yes"]
restart: "no"
listmonk:
image: listmonk/listmonk:latest
ports:
- "9000:9000"
environment:
- LISTMONK_app__address=0.0.0.0:9000
- LISTMONK_db__host=db
- LISTMONK_db__port=5432
- LISTMONK_db__user=listmonk
- LISTMONK_db__password=<your-db-password>
- LISTMONK_db__database=listmonk
restart: unless-stopped
depends_on:
listmonk_setup:
condition: service_completed_successfully
db:
condition: service_healthy
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=listmonk
- POSTGRES_PASSWORD=<your-db-password>
- POSTGRES_DB=listmonk
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U listmonk"]
interval: 10s
timeout: 5s
retries: 10
volumes:
postgres_data:
PORTHost port(default: 9000)DB_PASSWORDDB passwordStart your containers and verify they're running correctly.
# Launch the stack
docker compose up -d
# Verify container status
docker compose ps
# Follow the logs
docker compose logs --followUpdate UFW rules to allow traffic on the application port.
# Allow the application port through firewall
sudo ufw allow 9000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:9000Why type commands when you can click? Deploy Listmonk the easy way with Server Compass.
After deploying Listmonk with Server Compass, complete these steps to finish setup
Change the default password
Configure SMTP
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Listmonk
Simply download Server Compass, connect to your VPS, and select Listmonk from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Listmonk requires a minimum of 256MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Listmonk backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Listmonk image will be pulled and deployed with zero downtime.
Listmonk is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Download Server Compass and deploy Listmonk to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass