Docker-Mailserver
A production-ready, full-featured mail server that runs in a single Docker container, bundling SMTP, IMAP, LDAP, anti-spam, antivirus, and additional services.
Platform availability
Available on 2 of 9 platforms
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
71/100 Good
- Maintained
- 100last commit 10 days ago
- Popular
- 8618,903 GitHub stars
- Easy to install
- 452 install platforms, install notes, Docker image
- Light to run
- No data
- Security check
- 201 serious finding, CI, tests, OpenSSF Scorecard 5.5/10
Based on 4 of 5 factors.
Security check: 1 serious finding
- A private key is committed in the source code (demo-setups/relay-compose.yaml:127)
Automated checks on commit f8907f1, 14 Oct 2026. Not an audit.
Availability: platform listings confirmed today, links checked 15 days ago
- GitHub stars
- 18,903
- Open issues
- 89
- Last commit
- 2026-10-04
- Latest release
- v16.0.1
- License
- MIT
- Activity
- steady
Checked 8 days ago - source: GitHub (docker-mailserver/docker-mailserver)
Resources & Compatibility
ARM (e.g. Raspberry Pi) is supported.
Checked 17 days ago - source: Docker Hub image tags and published docs
First-install notes
- Add autoheal and health checks If you want broken mail containers to restart themselves, add the autoheal service to your Docker Compose file (the file that starts your app) and give each watched service both an autoheal: true label and a healthcheck (a Docker test that reports healthy or not). Without the healthcheck, Docker cannot prove the container is failing, so autoheal will not restart it. source
- Tell autoheal which containers to watch Set AUTOHEAL_CONTAINER_LABEL to a container label (a name tag Docker uses to find things) like mailserver, or use all if you want every container watched. This matters because autoheal only restarts containers that match that label, so a missing or wrong value can leave your mail server unmonitored. source
- Get alerts when it restarts something If you set WEBHOOK_URL (a special link that sends a message to a chat app), such as a Slack or Discord link, autoheal can notify you when it restarts an unhealthy container. This helps you notice mail service problems quickly instead of only finding out when email stops flowing. source
- Prerequisites Before deploying, ensure you have a domain with a static IP address, MX and A DNS records pointing to your mail server, and the required ports forwarded through your router. Missing items (mail account, SSL type, hostname) are reported in Docker logs to aid troubleshooting. source
Fetched 7 days ago - each note links to its source
Variants
Alternatives (2)
- Stalwart - Stalwart is an open-source, all-in-one email server that unifies JMAP, IMAP (Internet Message Access Protocol), and SMTP (Simple Mail Trans…
- mailcow: dockerized - mailcow is a mail server suite based on Dovecot, Postfix, SOGo, Rspamd and other open source software, that provides a modern Web UI for ad…
Checked 14 days ago - source: AlternativeTo
Common questions
How can I make Docker Mailserver restart automatically if a mail container fails?
Add the autoheal service to your Docker Compose file and give the container an autoheal label and a healthcheck. Without a healthcheck, autoheal cannot prove the container is failing and will not restart it.
What should I check if outbound mail is not delivering?
Check misconfigured DNS records first, because Docker Mailserver does not manage those concerns. You can test deliverability with mail-tester and use helloinbox as a checklist.
Can I use fetchmail to pull messages from another mail server into Docker Mailserver?
A forum user described trying fetchmail to download messages from a remote cPanel mail server into Docker Mailserver and present them locally. The source only describes the attempt, not a confirmed supported setup.
Answers sourced from context7.com, forums.docker.com, github.com
Community
- Anyone use docker mailserver : r/selfhosted - Reddit (reddit)
- Should I try docker-mailserver? : r/docker - Reddit (reddit)
- Using fetchmail to download messages into docker-mailserver (forum)
Collected 16 days ago - public community threads