(E-Mail-Archivierung per Docker)
Warum du einen Mail Archiver einsetzen solltest
Geschäftliche E-Mails sind steuerrelevante Dokumente. Angebote, Rechnungen, Vertragsabsprachen oder Projektkommunikation dürfen nicht einfach gelöscht werden.
Die Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form (GoBD) verpflichten Unternehmen in Deutschland zur revisionssicheren Archivierung solcher E-Mails.
Das bedeutet:
- vollständige Aufbewahrung
- unveränderbare Speicherung
- Nachvollziehbarkeit bei Prüfungen
- langfristige Sicherung
Dafür setzt du einen Mail Archiver ein. Sauber per Docker auf deiner NAS getrennt.

Voraussetzungen
Synology
- DSM 7.2
- Installierter Container Manager
- Docker-fähiges Modell (z. B. Plus-Serie)
Installation:
Paket-Zentrum → „Container Manager“ installieren
UGREEN NAS
Bei UGREEN heißt das Paket einfach Docker.
Die Oberfläche ist der Synology-GUI sehr ähnlich.
Voraussetzungen:
- Docker installiert
- Compose-Unterstützung
- Docker-fähiges NAS-Modell
Der Standardpfad ist in der Regel identisch:
/volume1/docker/Schritt 1 – Ordnerstruktur sauber anlegen
Du solltest immer mit einer klaren Struktur beginnen.
1️⃣ Zuerst legst du unter:
/volume1/docker/einen neuen Ordner an:
mail-archiverDas geht über:
- File Station → docker → Erstellen → Ordner → „mail-archiver“
2️⃣ Danach öffnest du den Ordner mail-archiver
Darin erstellst du zwei weitere Unterordner:
postgres
dataDie finale Struktur sieht so aus:
/volume1/docker/mail-archiver/
├── postgres
└── dataSchritt 2 – Berechtigungen prüfen
In File Station:
Rechtsklick auf mail-archiver → Eigenschaften → Berechtigungen
Stelle sicher:
- SYSTEM → Lesen/Schreiben
- admin → Vollzugriff
In den meisten Fällen reicht das völlig aus.
Es sind keine speziellen UID/GID-Anpassungen nötig.
Wichtig ist nur: Docker muss schreiben dürfen.
Schritt 3 – Docker Compose Projekt anlegen
Synology (Container Manager)
- Container Manager öffnen
- Projekt → Erstellen
- Projektname:
mail-archiver - Speicherort:
/volume1/docker/mail-archiver/ - „docker-compose.yml manuell erstellen“ auswählen
- Folgende Datei einfügen:
version: '3.8'
services:
mailarchive-app:
image: s1t5/mailarchiver:latest
container_name: mail-archiver
restart: always
environment:
- ConnectionStrings__DefaultConnection=Host=mail-archiver-db;Database=MailArchiver;Username=mailuser;Password=supergeheim123!;
- Authentication__Username=admin
- Authentication__Password=auchgeheim
- TimeZone__DisplayTimeZoneId=Europe/Berlin
- ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
- MailSync__IntervalMinutes=15
ports:
- "22080:5000"
volumes:
- /volume1/docker/mail-archiver/data:/app/DataProtection-Keys
depends_on:
mail-archiver-db:
condition: service_healthy
networks:
- mailarchiver-network
mail-archiver-db:
image: postgres:17-alpine
container_name: mail-archiver-db
restart: always
environment:
- POSTGRES_DB=MailArchiver
- POSTGRES_USER=mailuser
- POSTGRES_PASSWORD=supergeheim123!
volumes:
- /volume1/docker/mail-archiver/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mailuser -d MailArchiver"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
networks:
- mailarchiver-network
networks:
mailarchiver-network:
driver: bridgeUGREEN
Im Docker-Bereich:
- Neues Projekt anlegen
- Compose einfügen
- Starten
Alternativ per SSH:
docker compose up -d⚠️ WICHTIG: Passwort kommt an ZWEI Stellen vor
Das Passwort supergeheim123! wird hier doppelt verwendet:
- In der Datenbank:
POSTGRES_PASSWORD=supergeheim123!- In der App-Connection:
ConnectionStrings__DefaultConnection=...Password=supergeheim123!;Wenn du das Passwort änderst, musst du es an beiden Stellen identisch ändern.
Sonst verbindet sich die Anwendung nicht mit der Datenbank.
Zusätzlich solltest du auch dieses Passwort anpassen:
Authentication__Password=#deinpwSchritt 4 – Container starten
Projekt starten und warten, bis beide Container laufen:
- mail-archiver
- mail-archiver-db
Der Datenbank-Container muss zuerst „healthy“ werden.
Schritt 5 – Zugriff
Im Browser:
http://NAS-IP:22080Login:
- Benutzer: admin
- Passwort: aus der Compose-Datei
Optional – Reverse Proxy (empfohlen)
Unter DSM 7.2:
Systemsteuerung → Anmeldeportal → Reverse Proxy
Quelle:
https://deine-domain.de
Port: 443Ziel:
http://localhost
Port: 443Mit Unter Sicherheit in den Systemsteuerung die Domain mit SSL-Zertifikat absichern!
Backup nicht vergessen
Vor dem Backup Docker Projekt stoppen!
Wichtige Ordner:
/volume1/docker/mail-archiver/postgres
/volume1/docker/mail-archiver/dataDiese sicherst du regelmäßig.
Alternativ vollständige Sicherung mit SQL Dump (Hier am Beispiel von Paperless der Vorgang ist identisch):
Fazit
Mit Docker auf Synology oder UGREEN NAS läuft der Mail Archiver sauber isoliert und GoBD-konform.
Entscheidend sind:
- Docker-fähiges Modell
- Ordnerstruktur korrekt angelegt
- Berechtigungen geprüft
- Passwort an beiden Stellen angepasst
- Backup eingerichtet
Damit ist die E-Mail-Archivierung technisch und rechtlich solide umgesetzt.











Ich arbeite mit Windows 11 / WSL2 und bin mit dem mail-archiver sehr zufrieden, aber hab’ ich die Anleitung für ein Backup irgendwie übersehen?
Für Anfänger wäre das Backup und das Wiederherstellen äußerst interessant.
Hi, ich habe dazu schon ein Backup-Video für Paperless gemacht. Im Beispiel hatten wir Paperless als Docker Stack also mit Postgre SQL aber der Workflow ist hier nahezu identisch.
Wichtig ist vor allem, dass du die Datenbank (SQL Dump) und die Storage-Ordner sicherst.
Vielleicht hilft dir das Video als Grundlage weiter: https://www.youtube.com/watch?v=myqK9-cer3U&t=11s
Alternativ kannst du – je nach Setup – auch deine Postfächer als EML/mbox exportieren und separat sichern. Diese lassen sich später in einer neuen Mail-Archiver-Installation wieder importieren. Das ist aber eher ein „Fallback“ und ersetzt kein vollständiges System-Backup.
Laut der Internetseite von Open Mailingarchiv kann man .PST Dateien Importieren. Die da beschriebene Funktion “PST Import” finde ich aber bei mir nicht. Weis jemand wie ich Outlook Odner mit den mails in den archiver bekomme?