19 Praxis-Anleitungen für Docker Compose, Betriebssysteme, NAS & Hoster
Installation per Docker Compose, Windows-Dienst (ohne Docker), Linux, NAS, Proxmox & allen Hostern
Wähle deine Zielumgebung: Vom kopierfertigen Docker-Compose-Stack und dem klassischen Windows-Server-Dienst ohne Docker über Proxmox VE, Raspberry Pi, Synology, ASUSTOR, UGREEN, TerraMaster und Unraid bis zu den exakten Firewall- und Reverse-DNS-Einstellungen bei netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato und OVHcloud.
Offizielles Multi-Arch OCI-Image (linux/amd64 & linux/arm64) · In 60 Sekunden startklar mit SQLite WAL oder als Enterprise-Stack mit PostgreSQL, S3 Object Lock & OpenTelemetry
Docker Compose
Variante A: Schlanker Single-Container Stack (SQLite WAL + Zstandard): Ideal bis mehrere tausend Postfächer auf einem VPS, Root-Server oder NAS. Benötigt keinen externen Datenbank-Container und nur ~58 MB RAM im Leerlauf.
Windows Server (2019 / 2022 / 2025) nativ ohne Docker als Windows-Dienst
Echter Windows Service Control Manager (SCM) Betrieb ohne Docker Desktop, Hyper-V oder WSL2
Nativ ohne Docker
Programm- & Datenverzeichnis anlegen: Entpacke das Windows-x64-Release nach C:\SharpMailserver\bin und lege C:\SharpMailserver\data auf einer lokalen SSD/NVMe an.
Minimale Dienst-Rechte setzen (Least Privilege): Der Dienst läuft sicher unter NT AUTHORITY\NetworkService statt LocalSystem und benötigt nur Schreibrechte auf das Datenverzeichnis.
Produktions-Konfiguration (appsettings.Production.json): Nutze entweder das direkt integrierte SQLite WAL ohne Zusatzinstallation oder binde PostgreSQL + S3 ein.
Windows Defender Firewall öffnen & Dienst mit Auto-Recovery registrieren: Führe das folgende PowerShell-Skript als Administrator aus:
Stateless Compute + Shared Postgres & S3: Mit PostgreSQL und S3 Object Lock können mehrere SharpMailserver-Replicas hinter einem LoadBalancer (mit PROXY-Protocol v2 für echte Client-IPs beim SPF-Check) horizontal skalieren.
Probes & Observability: Readiness/Liveness auf GET /health und Prometheus-Scraping auf GET /metrics.
LXC Container erstellen: Debian 12 Template wählen, 2 vCPU, 1024 MB RAM (SharpMailserver benötigt im Leerlauf nur ~58 MB) und ZFS/NVMe-Dataset als Mountpoint /var/lib/sharpmail einbinden.
Nativ oder per Docker: Im LXC-Container empfiehlt sich die direkte systemd-Installation ohne Docker-Layer für minimale Latenz und saubere Proxmox-Backups (PBS).
64-Bit OS & NVMe statt SD-Karte: Raspberry Pi OS Lite (64-Bit) verwenden und Datenverzeichnis auf eine USB-3-SSD oder M.2-NVMe-HAT legen (schützt vor SD-Wearout durch SQLite-WAL/Logs).
Heimanschluss-Tipp (Smarthost): Bei dynamischer Privatkunden-IP Smarthost (z. B. ALL-INKL, Strato, Hetzner oder SES) unter Smtp__OutboundSmartHost eintragen.
Ordner in File Station erstellen: Lege den freigegebenen Ordner /volume1/docker/sharpmail an (Tipp: Daten-Prüfsumme in Btrfs aktivieren).
Synology MailPlus-Portkonflikt vermeiden: Darauf achten, dass Synology Mail Server / MailPlus gestoppt ist, damit Ports 25, 465, 587 und 993 frei sind.
Container Manager öffnen: Unter Projekt -> Erstellen den Pfad /volume1/docker/sharpmail wählen und folgende docker-compose.yml einfügen:
Docker-CE & Portainer CE installieren: In ADM App Central zuerst Docker-CE und Portainer CE mit einem Klick installieren.
Persistenter Ordner: Im ADM Dateiexplorer /volume1/Docker/sharpmail erstellen.
Portainer Stack starten: In Portainer unter Stacks -> Add stack das Compose-File mit Volume /volume1/Docker/sharpmail:/var/lib/sharpmail deployen und in ADM EZ-Router / Firewall die Mail-Ports freigeben.
NVMe-Speicherpool nutzen: Auf UGREEN DXP-Modellen empfiehlt sich ein Ordner auf dem M.2-NVMe-Volume (z. B. /volume1/docker/sharpmail) für blitzschnelle OCR- und Volltextsuche.
UGOS Pro Docker-App: Docker öffnen -> Projekt -> Erstellen -> Compose-Konfiguration einfügen und Bereitstellen klicken. Webmail & Admin sind direkt unter https://NAS-IP:8443 erreichbar.
Docker Manager installieren: Im TOS App Center den offiziellen Docker Manager aktivieren und das Verzeichnis /Volume1/docker/sharpmail anlegen.
Projekt bereitstellen: Im Docker Manager unter Projekte -> Hinzufügen die YAML-Konfiguration einfügen. TOS 6 unterstützt dabei sowohl x86_64 als auch ARM64-Modelle nahtlos.
volumes:
- /Volume1/docker/sharpmail:/var/lib/sharpmail
# Admin-Cockpit nach Start: https://TERRAMASTER-IP:8443/admin/
Unraid Server (6.12+ / 7.x)
Unraid · Cache NVMe · Custom br0
Appdata auf Cache-NVMe pinnen: Verwende /mnt/cache/appdata/sharpmail (Primary Storage: Cache), damit die Array-Festplatten im Spin-Down bleiben können und SQLite/Indizes mit voller NVMe-Geschwindigkeit laufen.
Eigene LAN-IP über Netzwerktyp Custom: br0 (Empfohlen): Weise dem Container in Unraid unter Network Type -> Custom: br0 eine eigene feste LAN-IP (z. B. 192.168.178.25) zu. So stehen die Standardports 25, 80, 443, 465, 587 und 993 exklusiv ohne Konflikt mit der Unraid-Oberfläche bereit.
Einrichtung bei netcup, Hetzner, IONOS, ALL-INKL.COM, Hostinger, Strato & OVHcloud
Für 100 Prozent Zustellbarkeit bei Gmail, Microsoft Outlook und T-Online sind drei Dinge beim Hoster entscheidend: ein offener Port 25, ein exakt passender Reverse-DNS-Eintrag (PTR) für IPv4 und IPv6 sowie saubere SPF/DKIM/DMARC-Records.
netcup.de (Root-Server & VPS)
SCP · CCP DNS · Port 25 offen
Reverse-DNS (PTR) im SCP setzen: Im netcup Server Control Panel (SCP) den Server wählen -> Netzwerk -> sowohl für die IPv4-Adresse als auch für die genutzte IPv6-Adresse (z. B. ::1 aus dem /64-Netz) als rDNS exakt mail.deinedomain.de eintragen.
DNS im CCP pflegen: Im Customer Control Panel (CCP) -> Domains -> DNS-Einstellungen A, AAAA, MX (Prio 10 auf mail), SPF und den im SharpMailserver-Cockpit erzeugten DKIM-Key hinterlegen.
Installation: Debian 12 oder Windows Server Image im SCP mounten und per 1-Zeiler oder Windows-Service starten.
hetzner.de (Cloud CX/CAX & Dedicated)
Cloud Console · x64 & Ampere ARM64
Port 25 & 465 Hinweis bei Neukunden: Bei ganz neuen Hetzner-Cloud-Accounts sind ausgehende Verbindungen auf Port 25/465 zunächst gedrosselt. Nach der ersten beglichenen Rechnung unter Limits -> Request change mit kurzer Begründung (Eigener Unternehmens-Mailserver) sofort freischalten lassen.
IPv4 & IPv6 PTR setzen: In der Hetzner Cloud Console -> Server -> Networking -> Drei-Punkte-Menü neben Primary IPv4 & IPv6 -> Edit Reverse DNS -> mail.deinedomain.de eintragen.
Preis-Leistungs-Tipp: Läuft extrem effizient auf den günstigen Hetzner CAX (ARM64) und CX Instanzen inkl. Hetzner S3 Object Storage für GoBD-Backups.
ionos.de (VPS & Cloud Server)
IONOS Cloud Panel · S3 Object Lock
Externe IONOS-Firewall öffnen: Wichtig: IONOS blockiert Ports standardmäßig in der vorgeschalteten Cloud-Panel-Firewall! Unter Netzwerk -> Firewall-Richtlinien eingehend TCP 25, 80, 443, 465, 587, 993 und 4190 freigeben.
Reverse-DNS konfigurieren: Unter Netzwerk -> Öffentliche IP -> Reverse-DNS den Hostnamen mail.deinedomain.de hinterlegen (nachdem der A-Record existiert).
GoBD-Archiv mit IONOS S3: IONOS S3 Object Storage in deutschen Rechenzentren (Frankfurt/Berlin) unterstützt nativ S3 Object Lock (COMPLIANCE) für SharpMailserver.
ALL-INKL.COM (KAS DNS & Smarthost)
KAS DNS-Werkzeuge · Smarthost
Variante A (Domain bei ALL-INKL, SharpMailserver auf VPS/Firmen-IP): Im KAS einloggen -> Tools -> DNS-Werkzeuge -> Domain bearbeiten: A/AAAA für mail anlegen, MX-Record auf mail.deinedomain.de ändern und TXT-Records aus unserem DNS-Generator einfügen.
Variante B (SharpMailserver im Büro / NAS mit ALL-INKL als Versand-Relay): Betreibst du SharpMailserver lokal auf Windows Server, Proxmox oder Synology ohne feste IP, trage einfach deinen ALL-INKL-Server (z. B. w01abc.kasserver.com, Port 587, STARTTLS) als Smtp__OutboundSmartHost ein und ergänze include:_spf.kasserver.com im SPF!
Hostinger (KVM VPS & hPanel)
hPanel · KVM 2 / KVM 4
PTR Record im VPS-Dashboard: Im Hostinger hPanel -> VPS -> Einstellungen -> IP-Adressen -> Set PTR Record exakt auf mail.deinedomain.de setzen.
Port 25 / Relay beachten: Prüfe im VPS-Panel, ob ausgehender Port 25 freigeschaltet ist; falls gedrosselt, entweder im hPanel entsperren oder Amazon SES / Mailgun / SMTP-Relay auf Port 587 als OutboundSmartHost eintragen.
hPanel DNS Zone Editor: Bestehende Standard-MX-Einträge entfernen und durch mail.deinedomain.de sowie die generierten SPF/DKIM/DMARC-Einträge ersetzen.
Strato (V-Server Linux/Windows & Dedicated)
STRATO Server-Login · Windows & Linux
Beliebt für Windows Server ohne Docker: Auf STRATO Windows V-Servern und Dedicated Servern installierst du SharpMailserver in 60 Sekunden direkt mit unserem PowerShell-Skript oben als nativen Windows-Dienst.
Reverse-DNS im STRATO Server-Login: Unter Mein Server -> Netzwerk / IP-Adressen für IPv4 und IPv6 den Reverse-DNS-Namen mail.deinedomain.de hinterlegen.
STRATO Domainverwaltung: Unter Domains -> Verwalten -> DNS-Einstellungen den MX-Record auf Eigenen Mailserver (mail.deinedomain.de) umstellen sowie TXT-Records für SPF, DKIM und _dmarc pflegen.
OVHcloud (VPS, Dedicated & Public Cloud)
OVHcloud Control Panel · EU S3 WORM
Wichtige Reihenfolge für OVHcloud PTR: OVHcloud prüft beim Speichern des Reverse-DNS sofort, ob der Forward-Eintrag bereits existiert! Lege daher zuerst A und AAAA für mail.deinedomain.de an, warte 5 Minuten und setze dann im OVHcloud Kundencenter unter Netzwerk -> Öffentliche IP-Adressen -> Reverse-DNS ändern den Wert mail.deinedomain.de.
Edge Network Firewall & S3 Object Lock: Falls die OVHcloud Edge-Firewall aktiv ist, TCP 25, 465, 587, 993, 4190 und 443 erlauben. OVHcloud Object Storage (Straßburg/Limburg/Gravelines) eignet sich hervorragend als S3-WORM-Ziel für das GoBD-Archiv.