Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

How to Self-Host Listmonk on a VPS (Complete Guide)

A complete guide to self-hosting Listmonk on a VPS: install, configure, and secure Listmonk step by step, with recommended specs and common gotchas.

How to Self-Host Listmonk on a VPS (Complete Guide)

Self-hosting Listmonk, an open-source newsletter and mailing list manager, is an excellent way to maintain control over your email campaigns and subscriber data. This guide will walk you through the process of deploying Listmonk on a Virtual Private Server (VPS) using Docker, ensuring that developers and homelab enthusiasts can set it up with ease.

Why Choose Listmonk?

Listmonk offers a robust, user-friendly interface along with features such as:

Choosing a reliable VPS provider is crucial for smooth performance. Hereโ€™s a comparison of some top VPS providers:

ProviderPrice (EUR/USD)SpecsIdeal For
Contabo VPS5.99 EUR/mo4 CPU, 8 GB RAM, 200 GB SSDBudget-friendly option
Hetzner Cloud4.15 EUR/mo1 CPU, 2 GB RAM, 20 GB SSDGreat for small projects
DigitalOcean6 USD/mo1 CPU, 1 GB RAM, 25 GB SSDGood for startups
Vultr6 USD/mo1 CPU, 1 GB RAM, 25 GB SSDSimple interface
Linode (Akamai Cloud)5 USD/mo1 CPU, 2 GB RAM, 25 GB SSDPerformance-driven projects

For a full VPS comparison, check out our full VPS comparison.

Prerequisites

To start with, ensure you have:

  1. A VPS with a minimum of 1 CPU and 2 GB of RAM.
  2. Docker installed on your VPS. You can follow the official installation guide for Docker if itโ€™s not installed.
  3. A domain name for your Listmonk instance if you want to send emails from a branded address.

Step 1: Access Your VPS

Connect to your VPS via SSH:

ssh your_username@your_vps_ip

Replace your_username and your_vps_ip with the appropriate values.

Step 2: Install Docker

If Docker isnโ€™t installed, run the following commands:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce

Verify installation:

docker --version

Step 3: Set Up PostgreSQL Database

Listmonk requires PostgreSQL for data storage. Use the following commands to set up PostgreSQL:

docker run -d \
    --name listmonk-postgres \
    -e POSTGRES_DB=listmonk \
    -e POSTGRES_USER=listmonk \
    -e POSTGRES_PASSWORD=your_password \
    -p 5432:5432 \
    postgres:latest

Change your_password to a strong password.

Step 4: Deploy Listmonk

You can pull and run Listmonk with the following commands:

docker run -d \
    --name listmonk \
    -e LISTMONK_DB_HOST=listmonk-postgres \
    -e LISTMONK_DB_USER=listmonk \
    -e LISTMONK_DB_PASSWORD=your_password \
    -e LISTMONK_DB_NAME=listmonk \
    -p 9000:9000 \
    --link listmonk-postgres:postgres \
    --restart unless-stopped \
    listmonk/listmonk:latest

Make sure to replace your_password with the same password used for PostgreSQL.

Step 5: Access Listmonk Dashboard

Once the container is up and running, you can access Listmonk by navigating to http://your_vps_ip:9000 in your web browser. The default credentials are:

Make sure to change these credentials on your first login to secure your installation.

Step 6: Configure Your Domain and SMTP Server

If you are using a custom domain, configure it in your DNS settings to point to your VPS IP. Additionally, set up an SMTP server to send emails (Listmonk can also use external SMTP services).

FAQs

1. Can I self-host Listmonk without Docker?

Yes, while using Docker simplifies the installation and management of Listmonk, you can also directly install it on your server using Go. This requires additional steps, such as installing dependencies and managing service configurations. For most users, Docker is the recommended approach due to its ease of deployment and built-in isolation.

2. What VPS provider is best for hosting Listmonk?

Choosing the right VPS provider depends on your budget and performance needs. For lightweight applications, providers like Hetzner Cloud and Linode offer affordable plans starting at 4.15 EUR/month. For more demanding setups, Contabo provides excellent resources at a competitive price. Always evaluate the specifics of your application and expected workload when making your choice.

3. How do I update my Listmonk installation?

To update Listmonk, simply stop the running container, pull the latest image, and restart the container. Use the following commands:

docker stop listmonk
docker rm listmonk
docker run -d ...  # Include your original run command with the latest image

Make sure to back up your database before performing an update to prevent any data loss.

By following these steps, youโ€™ll successfully self-host Listmonk on a VPS, providing you with the tools needed to manage your email campaigns effectively. Happy self-hosting!