Deploy Listmonk (Zero-Config)
Self-hosted newsletter platform, zero-config - Mailchimp alternative
listmonk
Just deployed
/listmonk/uploads
Just deployed
/var/lib/postgresql/data
Deploy and Host Listmonk on Railway (Zero-Config)
Listmonk is a self-hosted, high-performance newsletter and mailing list manager - a fully open-source alternative to Mailchimp. Manage subscribers, send campaigns, segment audiences, and own your data completely, with a REST API for everything the UI can do.
This template deploys Listmonk with zero manual configuration steps: the root URL is wired automatically to your Railway domain, and the admin password is generated automatically - no post-deploy settings edits required before you can log in and start sending.
About Hosting Listmonk
Hosting Listmonk gives you a complete email marketing platform that manages subscriber lists, designs and sends campaigns, and tracks engagement metrics without relying on external SaaS tools. It offers a modern web interface for campaign creation, template management, subscriber import/export, bounce handling, and analytics on open rates, click-through rates, and unsubscribes.
This template connects Listmonk to a Railway-managed Postgres database over the private network, with connection pooling and an idempotent install/ migration command so redeploys never break on schema drift. Uploaded campaign images and attachments persist on a dedicated volume across redeploys.
Common Use Cases
-
Newsletter Publishing: Creating and sending regular newsletters, product updates, and content marketing campaigns to engaged subscriber lists with automated scheduling and template management.
-
E-commerce Email Marketing: Managing customer email lists, sending promotional campaigns, product announcements, and abandoned cart recovery emails with advanced segmentation.
-
SaaS Product Communications: Delivering onboarding sequences, feature announcements, and educational content to users with behavioral targeting.
-
Marketing Automation: Building drip campaigns and subscriber journeys based on user behavior, preferences, and engagement patterns.
Dependencies for Listmonk Hosting
Core Dependencies
- PostgreSQL - Primary database for storing subscriber data, campaigns, templates, and analytics. Provisioned automatically alongside Listmonk.
Deployment Dependencies
- Listmonk Docker Image - https://hub.docker.com/r/listmonk/listmonk
- Listmonk Documentation - https://listmonk.app/docs/
Implementation Details
- After deploying, open
/admin/loginon your generated domain (e.g.https://your-app.up.railway.app/admin/login) — not the bare root URL. Listmonk's/path is its public subscriber-facing page (signup/unsubscribe/campaign views), which shows a styled "page not found" message until you configure a public page. That's expected, not a broken deploy. - Log in with the username and password from the
listmonkservice's Variables tab (LISTMONK_ADMIN_USER/LISTMONK_ADMIN_PASSWORD) — both are already set for you. - Go to Settings → SMTP and add your outbound email provider (Amazon SES, Postmark, Mailgun, Brevo, etc.). Listmonk handles templating, scheduling, and analytics, but delegates actual sending to your SMTP provider — this is the one step that can't be automated away.
- Railway's Hobby plan may restrict outbound SMTP on some ports — check your provider's recommended port (587/2525) if delivery fails.
- This template tracks
listmonk/listmonk:latest. Pin to a specific version tag if you need reproducible upgrades.
Why Deploy Listmonk on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway hosts your infrastructure so you don't have to deal with configuration, while letting you vertically scale it.
By deploying this template, you get a complete self-hosted email marketing platform with genuinely zero setup steps: no manual root-URL edit, no password to invent, and a durable volume for uploads — so you can go straight from deploy to sending your first campaign.
Template Content
listmonk
listmonk/listmonk:latestTZ
Timezone used for scheduling campaigns and displaying timestamps in the UI.
PORT
Port the container listens on - set to 9000 to match Listmonk's internal HTTP server.
LISTMONK_ADMIN_USER
Username for the initial superadmin account, created on first boot.
LISTMONK_app__address
Internal bind address for the Listmonk HTTP server. Must match PORT and the service's target port (9000).
LISTMONK_db__max_idle
Maximum idle Postgres connections kept in the pool.
LISTMONK_db__max_open
Maximum open Postgres connections in the pool.
LISTMONK_db__ssl_mode
Postgres SSL mode. 'disable' is safe here since traffic stays on Railway's private network.
LISTMONK_ADMIN_PASSWORD
Auto-generated password for the initial superadmin account. Find it here after deploying, then log in at /admin/login.
LISTMONK_db__max_lifetime
Maximum lifetime of a pooled Postgres connection before it's recycled.
PGDATA
PGPORT
POSTGRES_DB
POSTGRES_USER
SSL_CERT_DAYS
RAILWAY_DEPLOYMENT_DRAINING_SECONDS