Mailcow - vollständiger Mailserver in einem Docker-Stack
Mailcow - vollständiger Mailserver in einem Docker-Stack
Mailcow ist ein vollständiger, produktionsreifer Mailserver-Stack mit Web-Admin-Oberfläche, Spam-Filter, DKIM und allem, was für den eigenen E-Mail-Betrieb benötigt wird.
Was ist Mailcow?
Mailcow bündelt Postfix, Dovecot, Rspamd, ClamAV, SOGo Webmail und eine eigene Admin-Oberfläche in einem koordinierten Docker Compose-Stack. Die Installation ist im Vergleich zur manuellen Konfiguration eines Mailservers erheblich vereinfacht – ein einziges Setup-Script generiert die benötigten Konfigurationsdateien. Mailcow eignet sich für alle, die E-Mail vollständig selbst kontrollieren wollen: eigene Domain, eigene Postfächer, kein Datenschutzproblem mit Drittanbietern. Der Stack ist aktiv gepflegt und erhält regelmäßige Updates.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Dedizierter Server oder VPS mit mindestens 2 GB RAM (4 GB empfohlen)
- Eigene Domain mit korrekten MX-, SPF-, DKIM- und DMARC-DNS-Einträgen
- Öffentliche IPv4-Adresse; Port 25 muss nicht geblockt sein
Compose-Beispiel
# Mailcow wird nicht über eine einzelne Compose-Datei konfiguriert,
# sondern über das offizielle Setup-Script eingespielt.
# Die generierte docker-compose.yml enthält alle Services.
services:
# Auszug – vollständige Datei wird vom Setup-Script generiert
postfix-mailcow:
image: mailcow/postfix:latest
container_name: mailcowdockerized-postfix-mailcow-1
restart: unless-stopped
dovecot-mailcow:
image: mailcow/dovecot:latest
container_name: mailcowdockerized-dovecot-mailcow-1
restart: unless-stopped
Hinweise
- Das offizielle Setup-Script (
mailcow-setup.sh) ausführen – es generiert diemailcow.confund alle Compose-Dateien automatisch. - DNS korrekt konfigurieren: PTR-Record (Reverse DNS) auf dem Server muss auf den Hostnamen zeigen, sonst lehnen Empfänger E-Mails ab.
- ClamAV benötigt allein ~1 GB RAM – für ressourcenarme Server kann es im Stack deaktiviert werden.
- Updates per
./update.sheinspielen; Mailcow bringt ein integriertes Update-Script mit, das Container schrittweise neu baut.