← Back to Guides
Header image for blog post: How to deploy Listmonk with Northflank
Daniel Adeboye
Published 26th September 2025

How to deploy Listmonk with Northflank

If you need a powerful yet simple newsletter and mailing list manager, Listmonk is one of the best open-source tools you can use. It handles subscriber management, campaign creation, analytics, and bulk sending with ease. You can self-host it, customize it to your needs, and scale as your audience grows.

In this guide, you’ll learn how to deploy Listmonk on Northflank (a developer platform that makes it easy to build, scale, and manage applications). With Northflank, you can launch Listmonk in minutes using a one-click template or set everything up manually.

Prerequisite

Before you begin, ensure you create a Northflank account.

What this tutorial covers

  1. Deploy Listmonk with a one-click template on Northflank
  2. Deploy Listmonk manually on Northflank

What is Northflank?

Northflank is a developer platform that makes it simple to build, deploy, and scale applications, databases, jobs, and even GPU workloads. It provides an abstraction over Kubernetes with intelligent defaults, making production-ready deployments easier without losing flexibility. Teams use Northflank to standardize their deployments and streamline DevOps workflows.

Option 1: Deploy Listmonk with a one-click template on Northflank

You can launch Listmonk on Northflank in just a few minutes using the ready-made template. This option is perfect if you want to get started quickly without dealing with manual setup.

image - 2025-09-26T092845.627.png

Template overview

The Listmonk deployment on Northflank includes:

  • 1 addon: PostgreSQL
  • 1 secret group for managing environment variables
  • Deployment of the Listmonk service from the Docker image: listmonk/listmonk:latest

Getting Started

  1. Visit the Listmonk template on Northflank.
  2. Click ”Deploy”.
  3. Northflank will:
    • Create a project, database, secret group, and service
    • Build your container from the template
    • Deploy and run the app
  4. Once live, you’ll receive a public URL where your Listmonk app is accessible.

Note: You can add additional environment variables if needed.

Option 2: Deploy Listmonk manually on Northflank

If you want more flexibility or need to customize your setup, you can deploy Listmonk manually. This approach gives you full control over configuration and integrations.

Step 1: Create a Northflank project

Log in to your Northflank dashboard, click the "Create new" button (+ icon) in the top right corner of your dashboard. Then, select "Project" from the dropdown.

image - 2025-09-26T090942.363.png

Projects serve as workspaces that group together related services, making it easier to manage multiple workloads and their associated resources.

Step 2: Configure your project

You’ll need to fill out a few details before moving forward.

  • Enter a project name, such as listmonk-project and optionally pick a color for quick identification in your dashboard.

  • Select Northflank Cloud as the deployment target. This uses Northflank’s fully managed infrastructure, so you do not need to worry about Kubernetes setup or scaling.

    (Optional) If you prefer to run on your own infrastructure, you can select Bring Your Own Cloud and connect to AWS, GCP, Azure, or on-prem resources.

  • Choose a region closest to your users to minimize latency for calendar syncing and video calls.

  • Click Create project to finalize the setup.

image - 2025-09-26T090947.445.png

Step 3: Create a PostgreSQL database

Inside your project, go to the Addons tab at the top menu and click "Create new addon". Then, select  PostgreSQL as the Addon type, give it a descriptive name such as listmonk-db . Select your preferred version, and choose a compute plan size.

  • If you’re testing or experimenting, the smallest option is cost-effective and sufficient.
  • For production, we recommend starting with nf-compute-50. This provides more resources and stability, ensuring Listmonk runs reliably under real workloads.

Once you’ve configured the settings, click Create addon to provision your database.

image - 2025-09-26T090949.673.png

Step 4: Create a Secret group to store environment variables

Next, go to the Secrets tab and click Create Secret Group. Name it something easy to recognize, such as listmonk-secrets. This group will hold all the environment variables required by Listmonk. You can find the full list of supported variables in the Listmonk docs.

image - 2025-09-26T090951.943.png

To save time on manually searching and configuring environment variables, you can use these pre-configured options:

LISTMONK_ADMIN_USER={Update this}
LISTMONK_ADMIN_PASSWORD={Update this}
LISTMONK_db__ssl_mode="require"
LISTMONK_app__address="0.0.0.0:9000"

Notes about these variables:

  • LISTMONK_ADMIN_USER and LISTMONK_ADMIN_PASSWORD must be updated with your desired administrator credentials for accessing the Listmonk admin panel
  • LISTMONK_db__ssl_mode="require" ensures secure database connections
  • LISTMONK_app__address="0.0.0.0:9000" configures Listmonk to listen on all network interfaces on port 9000

Link the PostgreSQL addon to your secret group

Northflank addons (like PostgreSQL) expose connection details (username, password, etc.). Instead of manually copying these values into your secrets, you can link the addon directly to your secret group. This way, whenever the addon rotates credentials, your service automatically receives the updated values.

  • Under the Linked addons section, click "Configure" to map HOST to the alias LISTMONK_db__host.
  • Map PORT to LISTMONK_db__port.
  • Map USERNAME to LISTMONK_db__user.
  • Map PASSWORD to LISTMONK_db__password.
  • Map DATABASE to LISTMONK_db__database.

Here we're not inventing new values, we're just telling Northflank to feed the Postgres addon's host and URI into the environment variable names your service requires.

image - 2025-09-26T090954.715.png

Finally, click Create secret group to save everything.

Step 5: Create a deployment service

Within your project, navigate to the Services tab in the top menu and click ’Create New Service'. Select Deployment and give your service a name such as listmonk-app.

For the deployment source, choose External image and enter the official Listmonk Docker image: listmonk/listmonk:latest .

Screenshot 2025-09-25 at 16.22.33.png

Select compute resources

Choose the compute size that best matches your workload:

  • Small plans are fine for testing or lightweight usage.
  • Larger plans are recommended for production, as Listmonk can be resource-intensive under real-world traffic.

The flexibility to adjust resources later means you can start small and scale up as your scheduling needs grow.

image - 2025-09-26T091003.688.png

Set up a port so your app is accessible:

  • Port: 9000
  • Protocol: HTTP
  • Public access: enable this to let people access your scheduling app from the internet

Northflank will automatically generate a secure, unique public URL for your service. This saves you from having to manage DNS or SSL certificates manually.

image - 2025-09-26T091011.523.png

Deploy your service

When you’re satisfied with your settings, click "Create service." Northflank will pull the image, provision resources, and deploy Listmonk.

Once the deployment is successful, you’ll see your service’s public URL at the top right corner, e.g.: p01--listmonk-app--lppg6t2b6kzf.code.run

image - 2025-09-26T091014.490.png

Conclusion

Deploying Listmonk on Northflank is a straightforward way to run your own newsletter and mailing list platform without worrying about infrastructure complexity. Whether you choose the one-click template for a quick start or the manual deployment for full customization, Northflank provides the tools you need to scale and manage your application with ease.

By combining Listmonk’s powerful email campaign and subscriber management features with Northflank’s developer-friendly platform, you get a reliable, production-ready setup for sending newsletters and managing mailing lists seamlessly.

Share this article with your network
X