Video tutorial coming soon.
📨 Setup Listmonk — Self-Hosted Newsletter Platform
Deploy Listmonk, a high-performance self-hosted newsletter and mailing list manager. Send transactional emails and newsletters to thousands of subscribers from your own server.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/email/listmonk/listmonk-ubuntu.sh
chmod +x listmonk-ubuntu.sh
sudo bash listmonk-ubuntu.sh
Tutorial Steps
1 Download & Run the Script
The script installs Docker, sets up Listmonk with a PostgreSQL database, and starts both containers. Default admin credentials are created automatically.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/email/listmonk/listmonk-ubuntu.sh
chmod +x listmonk-ubuntu.sh
sudo bash listmonk-ubuntu.sh
2 Access the Dashboard
Open your browser and navigate to Listmonk:
http://YOUR-SERVER-IP:9000
3 Configure SMTP and Create Lists
Go to Settings → SMTP to configure your mail server (Gmail, SES, Mailgun, etc.). Then create mailing lists and import or add subscribers through the Subscribers section.
4 Create and Send Campaigns
Go to Campaigns → New Campaign. Write your email using the rich text or HTML editor, select target lists, and schedule or send immediately. Monitor stats from the dashboard.
Ports Used
| Port | Protocol | Purpose |
|---|---|---|
| 9000 | TCP | Web UI & API |
Files Location
/root/docker/listmonk/docker-compose.yml
Overview
Listmonk is a high-performance, self-hosted newsletter and mailing list manager. It handles subscriber management, list segmentation, campaign creation with rich HTML templates, and bulk email sending through any SMTP provider. All subscriber data stays on your server — no third-party ESP has access to your list.
Why Use It
Listmonk replaces expensive email marketing platforms like Mailchimp at any scale — you pay only for the SMTP delivery service, not per-subscriber or per-campaign fees. At 100,000 subscribers, Mailchimp costs hundreds per month; Listmonk plus Amazon SES costs a few dollars. Your subscriber data never leaves your infrastructure, eliminating vendor lock-in and GDPR compliance complexity with third parties. The Go-based backend handles millions of emails with minimal server resources.
When You Need It
Who Should Use It
Real Use Cases
Main Features
How to Use After Installation
Security Best Practices
Ports and Firewall Notes
Listmonk's web UI runs on port 9000 by default. Reverse-proxy this to HTTPS on port 443 — never expose 9000 directly. Listmonk connects outbound to your SMTP provider on port 587 (STARTTLS) or 465 (SSL). No additional inbound ports beyond 443 via proxy are needed. The PostgreSQL database must only be accessible from localhost or the Listmonk container — never expose it externally.
Backup and Maintenance
Common Mistakes
Troubleshooting
Alternatives
Mailchimp is the dominant SaaS alternative with automation and A/B testing — expensive at scale. ConvertKit focuses on creator-focused email with powerful segmentation. Sendy is a PHP-based self-hosted alternative that sends via Amazon SES — cheaper to host but less capable. Mautic is a full marketing automation platform with email, SMS, and CRM — far more complex. For transactional email only without newsletter features, tools like Postal are alternatives. Keila is a newer open-source newsletter tool with a simpler interface than Listmonk.
When Not to Use It
Listmonk is a sending tool — without a reputable SMTP provider or properly configured self-hosted mail server, emails simply won't reach inboxes. If you need marketing automation with triggers, lead scoring, and behavior-based sequences, Mautic or a dedicated platform is more appropriate. For very small lists under 2,000 subscribers, Mailchimp's free tier is simpler to manage than self-hosting Listmonk with PostgreSQL. Listmonk also has limited multi-user role management — agencies needing strict client isolation should run separate instances.
Need Help Setting Up Listmonk?
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Frequently Asked Questions
Does Listmonk send emails itself or does it need an SMTP provider?
Listmonk is a campaign management and scheduling tool — it does not deliver emails itself. You must configure an SMTP provider: Amazon SES ($0.10/1000 emails), Postmark, Mailgun, or Sendgrid. A self-hosted mail server like Mailcow can also serve as the SMTP backend. Without a configured SMTP provider, campaigns will fail on delivery.
How many subscribers and emails can Listmonk handle?
Listmonk is written in Go and extremely efficient — it can manage millions of subscribers and campaigns of any size. The practical limit is your SMTP provider's sending rate. Listmonk's throttle and batch settings let you match sending speed to provider limits. On a 1 GB RAM server, Listmonk itself is not the bottleneck.
Can I use Listmonk for transactional emails like account confirmations?
Yes. Listmonk has a transactional email API — POST to /api/tx with a subscriber identifier and template ID. This is useful for sending on-brand emails from applications without a separate transactional service. Tracking and analytics apply to transactional emails too.
Does Listmonk support email automation and drip sequences?
Listmonk's automation features are minimal compared to Mailchimp or ConvertKit. It supports scheduled campaigns and API triggering, but has no visual automation builder or behavior-based triggers. For simple newsletter sending it is excellent. For complex automation sequences, Mautic is better suited.
How does Listmonk handle unsubscribes and GDPR compliance?
Listmonk processes unsubscribes automatically via an unsubscribe link in every email. Unsubscribed users are excluded from future campaigns. For GDPR, all subscriber data is in your database — no third-party sharing. You are responsible for consent records and deletion requests, which can be handled via the admin panel.
Can multiple team members use Listmonk simultaneously?
Listmonk has basic multi-user support. Multiple users can log in and manage campaigns but role-based access control is limited. For agencies managing multiple clients, running separate Listmonk instances per client is the recommended approach for proper data isolation.
What SMTP provider should I use with Listmonk?
Amazon SES is the most cost-effective at $0.10 per 1,000 emails — ideal for high-volume sending. Postmark excels at deliverability with detailed bounce analytics. Mailgun is a good middle ground. Self-hosted Mailcow or Mailu can also serve as the SMTP backend if properly configured with SPF, DKIM, and DMARC.
Can I import my existing email list from Mailchimp?
Yes. Export your subscribers from Mailchimp as a CSV. In Listmonk, go to Subscribers > Import and upload the CSV, then map the email column and any other fields. Subscription consent records from Mailchimp cannot be imported directly — document consent separately for GDPR compliance.
