Duplicati auf dem Synology NAS installieren: verschlüsselte Backups in die Cloud
Duplicati als Docker-Container auf dem Synology NAS einrichten: AES-256-verschlüsselte, inkrementelle Offsite-Backups zu S3, Hetzner, Backblaze B2 und mehr – als sinnvoller Zusatz zu Hyper Backup für eine echte 3-2-1-Strategie ohne Vendor-Lock-in.
Geprüft am 30.09.2026 · für duplicati 2.4.0
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Wer ein Synology NAS betreibt, kennt Hyper Backup – und schätzt es für lokale und NAS-zu-NAS-Sicherungen. Doch für den Offsite-Anteil einer echten 3-2-1-Backup-Strategie braucht es ein Tool, das cloud-agnostisch arbeitet, keine proprietären Formate erzeugt und alle Daten vor dem Verlassen des NAS verschlüsselt. Duplicati sichert verschlüsselt und inkrementell auf über 20 Ziele, von Amazon S3 über Backblaze B2 bis Hetzner Object Storage, und läuft als Container auf DSM 7.2 und neuer. Diese Anleitung zeigt, wie Sie Duplicati als Container-Manager-Projekt mit schreibgeschützt eingebundenen Quellordnern einrichten, einen Backup-Job konfigurieren und einen Probe-Restore durchführen.
Voraussetzungen
- Synology NAS mit DSM 7.2 oder neuer und installiertem Container Manager (Package Center)
- Mindestens 1 GB freier RAM für den Duplicati-Container, NAS mit x86-64- oder ARM64-CPU
- Ausreichend Speicherplatz unter
/volume1/dockerfür die Konfigurationsdatenbank (wenige MB bis einige GB je nach Job-Anzahl) - SSH-Zugang zum NAS zum Ermitteln von PUID und PGID
- Cloud-Speicher-Account mit Access Key und Secret Key (z. B. Hetzner Object Storage, Backblaze B2 oder Amazon S3)
- Backup der Backup-Passphrase an einem sicheren Ort (Passwortmanager oder Papier-Backup) – ohne diese Passphrase sind verschlüsselte Backups wertlos
Schritt 1: PUID und PGID ermitteln
Das LinuxServer.io-Image führt Duplicati unter der im Container konfigurierten User-ID aus, nicht als root. Damit der Container die gemounteten Ordner lesen und schreiben kann, müssen PUID und PGID zum Eigentümer des Docker-Verzeichnisses auf dem NAS passen.
Verbinden Sie sich per SSH mit dem NAS (z. B. mit PuTTY oder Windows Terminal) und führen Sie folgenden Befehl aus. Ersetzen Sie benutzer durch den NAS-Benutzernamen, dem /volume1/docker gehört:
id benutzer
Die Ausgabe sieht typischerweise so aus:
uid=1026(benutzer) gid=100(users) groups=100(users),101(administrators)
Notieren Sie uid (typisch: 1026) und gid (Gruppe „users“: fast immer 100) für die compose.yaml.
Verifizieren: Der id-Befehl gibt eine Zeile mit uid=, gid= und groups= aus. Erscheint id: benutzer: no such user, stimmt der Benutzername nicht. Prüfen Sie ihn in der DSM-Benutzerverwaltung.
Schritt 2: Verzeichnisstruktur anlegen
Legen Sie in der File Station unter /volume1/docker folgende Ordner an:
/volume1/docker/duplicati/config
/volume1/docker/duplicati/backups
Den backups-Ordner brauchen Sie nur für lokale Sicherungen und für den Probe-Restore in Schritt 6.
Der Benutzer aus Schritt 1 muss Eigentümer dieser Ordner sein. Passen Sie die Rechte bei Bedarf per SSH an:
sudo chown -R 1026:100 /volume1/docker/duplicati/
Verifizieren: Führen Sie ls -lan /volume1/docker/duplicati/ aus. Die Ausgabe muss config und (optional) backups mit dem Eigentümer 1026 und Gruppe 100 zeigen. Steht dort noch root als Eigentümer, hat der Container keinen Schreibzugriff auf die Konfigurationsdatenbank.
Schritt 3: compose.yaml erstellen und Projekt anlegen
Öffnen Sie im DSM den Container Manager, wechseln Sie auf „Projekt“ und klicken Sie auf „Erstellen“. Vergeben Sie den Namen duplicati und fügen Sie folgende compose.yaml ein. Passen Sie PUID, PGID und die Quellpfade an und ersetzen Sie beide Platzhalter durch eigene Werte, etwa mit openssl rand -hex 32 per SSH erzeugt:
services:
duplicati:
image: lscr.io/linuxserver/duplicati:2.4.0
container_name: duplicati
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Berlin
- SETTINGS_ENCRYPTION_KEY=HIER_64_ZEICHEN_ZUFALLSWERT
- DUPLICATI__WEBSERVICE_PASSWORD=HIER_EIGENES_PASSWORT
volumes:
- /volume1/docker/duplicati/config:/config
- /volume1/docker/duplicati/backups:/backups
- /volume1/data:/source/data:ro
- /volume1/homes:/source/homes:ro
ports:
- "8200:8200"
restart: unless-stopped
Wichtige Hinweise zu den Variablen:
- SETTINGS_ENCRYPTION_KEY: Verschlüsselt die lokale SQLite-Konfigurationsdatenbank. Verwenden Sie einen langen Zufallswert und ändern Sie ihn nach dem ersten Start nicht mehr, sonst verliert Duplicati den Zugriff auf die gespeicherten Job-Konfigurationen.
- DUPLICATI__WEBSERVICE_PASSWORD: Setzt das Web-UI-Passwort. Ohne diese Variable lautet das Passwort
changeme. Das ist ein erhebliches Risiko, da im Web-UI alle Cloud-Zugangsdaten liegen. Später ändern Sie es in den Web-UI-Einstellungen. - :ro an den Quell-Volumes: Duplicati benötigt nur Lesezugriff auf die zu sichernden Daten. Das read-only-Flag verhindert, dass ein kompromittierter Container Ihre NAS-Daten verändert.
- Image-Tag 2.4.0: Entspricht Duplicati 2.4.0.0 stable (Stand September 2026).
:latestfolgt ebenfalls den stabilen Versionen, ein festes Tag verhindert aber unbemerkte Versionssprünge. Zum Update ändern Sie das Tag bewusst.
Klicken Sie auf „Weiter“ und „Fertig“. Container Manager lädt das Image und startet den Container.
Verifizieren: Der Container duplicati zeigt in der Projekt-Übersicht den Status „Wird ausgeführt“. Öffnen Sie http://[NAS-IP]:8200 im Browser. Das Duplicati Web-UI muss erscheinen und nach dem konfigurierten Passwort fragen. Bei Fehlermeldung oder Timeout prüfen Sie zuerst die Firewall (Schritt 4).
Schritt 4: Synology-Firewall für Port 8200 freigeben
Ist die Synology-Firewall aktiv, müssen Sie Port 8200 freigeben. Öffnen Sie Systemsteuerung › Sicherheit › Firewall und fügen Sie eine Regel hinzu:
- Protokoll: TCP
- Quell-IP: Ihr lokales Subnetz (z. B. 192.168.1.0/24)
- Zielport: 8200
- Aktion: Zulassen
Wichtig: Port 8200 sollte ausschließlich im LAN erreichbar sein. Leiten Sie ihn nicht ins Internet weiter. Für den Zugriff von außen schalten Sie einen Synology Reverse Proxy (DSM → Systemsteuerung → Anmeldeportal → Erweitert → Reverseproxy) oder den Nginx Proxy Manager auf der Synology vor und verwenden HTTPS.
Verifizieren: http://[NAS-IP]:8200 zeigt auf einem anderen Gerät im LAN das Duplicati-Login. Bleibt der Browser hängen, prüfen Sie die Reihenfolge der Regeln (Synology verarbeitet sie von oben nach unten).
Schritt 5: Ersten Backup-Job konfigurieren
Melden Sie sich mit dem Passwort aus der compose.yaml am Web-UI an. Klicken Sie auf „Backup hinzufügen“ → „Neues Backup konfigurieren“.
1. Allgemein: Vergeben Sie einen sprechenden Namen (z. B. „NAS-Daten → Hetzner S3“) und legen Sie die Verschlüsselungs-Passphrase fest. Sie verschlüsselt die Backup-Daten in der Cloud, ist unabhängig vom SETTINGS_ENCRYPTION_KEY und gehört getrennt in einen Passwortmanager. Ohne sie sind die Cloud-Backups verloren.
2. Backup-Ziel: Für Hetzner Object Storage wählen Sie „S3-kompatibel“ und tragen ein:
| Feld | Wert (Hetzner Beispiel) |
|---|---|
| Server-URL | fsn1.your-objectstorage.com |
| Bucket-Name | ihr-bucket-name |
| AWS Access Key ID | Ihr Hetzner Access Key |
| AWS Secret Access Key | Ihr Hetzner Secret Key |
| Bucket erstellen | Nur wenn noch nicht vorhanden |
3. Quelldaten: Wählen Sie als Quellpfad /source/ (das übergeordnete Mount-Verzeichnis) oder spezifischere Pfade wie /source/data bzw. /source/homes. Alle Unterordner werden rekursiv gesichert.
4. Zeitplan: Für KMU empfiehlt sich täglich außerhalb der Geschäftszeiten, z. B. 02:00 Uhr.
5. Aufbewahrung: Standardmäßig behält Duplicati alle Versionen. Sinnvoller ist „Smart Backup Retention“ (tägliche, wöchentliche und monatliche Versionen).
Klicken Sie auf „Speichern“ und dann auf „Jetzt sichern“.
Verifizieren: Im Duplicati Web-UI erscheint unter „Startseite“ der Job mit dem Status „Wird ausgeführt“. Nach Abschluss wechselt der Status auf „Erfolgreich“ mit Zeitstempel und Datenvolumen. Bei einem Fehler zeigt der Job unter „Protokoll anzeigen“ den genauen Grund (Zugangsdaten, Endpunkt, Netzwerk).
Schritt 6: Backup verifizieren und Probe-Restore durchführen
Ein nie getestetes Backup ist kein Backup. Duplicati bietet dafür zwei Werkzeuge im Web-UI. Wie Sie eine Backup-Restore-Test-Routine fest etablieren, beschreibt die verlinkte Anleitung.
Backup verifizieren: Klicken Sie neben dem Backup-Job auf das Menü-Symbol und wählen Sie „Backup verifizieren“. Duplicati lädt stichprobenartig Blöcke aus dem Cloud-Ziel herunter und prüft deren Integrität gegen die lokale Datenbank.
Probe-Restore: Klicken Sie auf „Wiederherstellen“, wählen Sie Job und Backup-Version und markieren Sie einzelne Testdateien oder einen kleinen Unterordner. Als Ziel wählen Sie einen separaten Ordner, z. B. /backups/restore-test (dieser ist im Container unter /backups erreichbar und auf dem NAS unter /volume1/docker/duplicati/backups/restore-test). Die Quellordner sind schreibgeschützt eingebunden, ein Restore an den Originalort scheitert daher.
Verifizieren: Die Verifikation endet ohne Fehlermeldung und zeigt „X von Y Dateien erfolgreich verifiziert“. Der Probe-Restore legt die wiederhergestellten Dateien im Zielordner ab. Öffnen Sie eine davon in der File Station und vergleichen Sie Größe und Inhalt mit dem Original. Schlägt die Prüfung fehl, kontrollieren Sie Passphrase und Cloud-Bucket.
Container-Eckdaten im Überblick
| Parameter | Wert |
|---|---|
| Image | lscr.io/linuxserver/duplicati:2.4.0 |
| Version (September 2026) | v2.4.0.0_stable |
| Architektur | linux/amd64, linux/arm64 |
| Port | 8200/TCP (Web-UI) |
| Config-Volume | /volume1/docker/duplicati/config:/config (Pflicht) |
| Backup-Volume | /volume1/docker/duplicati/backups:/backups (optional) |
| Quell-Volume | /volume1/[pfad]:/source/[name]:ro (Pflicht, mehrfach möglich) |
| PUID/PGID | per SSH ermitteln: id [benutzer] |
| TZ | Europe/Berlin (oder zutreffende Zone) |
Troubleshooting / Typische Fehler
- Container startet, Web-UI nicht erreichbar: Port 8200 ist in der Synology-Firewall gesperrt. Systemsteuerung → Sicherheit → Firewall, Regel für TCP 8200 aus dem LAN hinzufügen.
- „Permission denied“ beim Backup-Start: PUID/PGID passen nicht zum Eigentümer des config-Ordners. Per SSH
id [benutzer]ausführen, Werte in compose.yaml korrigieren, Container neu erstellen. Eigentümer ggf. mitchown -R 1026:100 /volume1/docker/duplicati/korrigieren. - Alle Backup-Jobs nach Neustart verschwunden: Das /config-Volume wurde nicht korrekt gemountet oder der Pfad stimmt nicht. Prüfen Sie in der File Station, ob
/volume1/docker/duplicati/configeineDuplicati-server.sqlite-Datei enthält. - SETTINGS_ENCRYPTION_KEY geändert, Container startet nicht mehr: Die Konfigurationsdatenbank ist mit dem alten Schlüssel verschlüsselt – der Schlüssel ist nicht wiederherstellbar. Backup des config-Ordners einspielen oder Datenbank löschen und Jobs neu anlegen. Schlüssel immer sicher verwahren und nie ändern.
- Backup-Job schlägt mit „Authentication failed“ fehl: Falsche Cloud-Credentials oder falscher Endpoint. Im Job auf „Bearbeiten“ → „Verbindung testen“ klicken – Duplicati gibt eine genaue Fehlermeldung zurück.
- Geplante Jobs laufen zur falschen Zeit: TZ-Variable fehlt oder ist falsch gesetzt. Container mit korrektem
TZ=Europe/Berlinneu erstellen. - Backup-Passphrase vergessen: Ohne die korrekte Passphrase sind alle Backup-Daten in der Cloud unwiederbringlich verschlüsselt. Passphrase zwingend in einem Passwortmanager oder als Papier-Kopie aufbewahren.
- Anmeldung nur mit „changeme“ möglich: DUPLICATI__WEBSERVICE_PASSWORD fehlt. Variable ergänzen und Projekt neu erstellen oder Passwort im Web-UI ändern.
Häufige Fragen
Worin unterscheidet sich Duplicati von Hyper Backup?
Hyper Backup ist Synology-eigen und eignet sich für lokale Backups, USB-Laufwerke, NAS-zu-NAS-Sicherungen und Synology C2. Duplicati ist cloud-agnostisch: Es sichert auf Amazon S3, Backblaze B2, Hetzner Object Storage, SFTP, WebDAV und über 20 weitere Ziele – ohne Vendor-Lock-in. Da Duplicati alle Daten lokal verschlüsselt, bevor sie die Cloud erreichen, sieht der Cloud-Anbieter nur verschlüsselte Blöcke. Beide Werkzeuge ergänzen sich: Hyper Backup für lokale und regionale Kopien, Duplicati für den verschlüsselten Offsite-Anteil.
Kann ich mehrere Quellordner sichern?
Ja, auf zwei Arten. Entweder tragen Sie mehrere Volumes in der compose.yaml ein (z. B. /volume1/data:/source/data:ro und /volume1/homes:/source/homes:ro) und wählen im Web-UI /source/ als Wurzel. Oder Sie legen je Quellordner einen eigenen Job mit eigenem Ziel an, das erlaubt getrennte Aufbewahrungsregeln.
Was ist der Unterschied zwischen SETTINGS_ENCRYPTION_KEY und der Backup-Passphrase?
SETTINGS_ENCRYPTION_KEY verschlüsselt die lokale Konfigurationsdatenbank des Containers – also gespeicherte Cloud-Credentials und Job-Einstellungen. Die Backup-Passphrase wird pro Job im Web-UI konfiguriert und verschlüsselt die eigentlichen Backup-Daten in der Cloud. Beide sind völlig unabhängig voneinander und müssen getrennt und sicher aufbewahrt werden.
Unterstützt Duplicati Hetzner Object Storage als Backup-Ziel?
Ja. Hetzner Object Storage ist S3-kompatibel. Wählen Sie als Ziel-Typ „S3-kompatibel“ und tragen Sie als Server-URL den Endpunkt ein (z. B. fsn1.your-objectstorage.com für Falkenstein, nbg1.your-objectstorage.com für Nürnberg oder hel1.your-objectstorage.com für Helsinki). Access Key und Secret Key erhalten Sie in der Hetzner Console unter „Object Storage“.
Wie aktualisiere ich den Container auf eine neue Duplicati-Version?
Ändern Sie im Container Manager im Projekt „duplicati“ das Image-Tag auf die neue Version (Tags auf Docker Hub bzw. in den Release Notes), speichern Sie und erstellen Sie das Projekt neu. Die Konfiguration bleibt erhalten, da sie im persistenten /config-Volume liegt. Alternativ lässt sich der Update-Prozess mit einem Tool wie WUD oder Diun automatisiert überwachen.
Fazit
Duplicati schließt die Lücke, die Hyper Backup im Bereich cloud-agnostischer Offsite-Backups lässt. Durch die Verschlüsselung per AES-256 verlassen nur verschlüsselte Blöcke das NAS, der Cloud-Anbieter sieht keine Inhalte. Das LinuxServer.io-Image läuft auf amd64 und arm64, die Anwendung arbeitet unter der PUID, und die read-only-Mounts begrenzen den Schaden bei einem kompromittierten Container. Für KMU und ambitionierte Selfhoster, die eine robuste 3-2-1-1-0-Strategie gegen Ransomware aufbauen wollen, ist Duplicati ein aktiv gepflegtes Open-Source-Werkzeug (v2.4.0.0 stable, September 2026). Der wichtigste Schritt bleibt der Probe-Restore, bevor Sie sich auf das Backup verlassen.
Weiterführende Anleitungen und Quellen
- 3-2-1-Backup-Strategie praktisch umsetzen: Anleitung mit Restic, USB-Disk und S3-Cloud
- Backup-Restore-Test als feste Routine etablieren
- Immutable Backups gegen Ransomware: 3-2-1-1-0 mit restic und Hetzner Storage Box
- Syncthing auf dem Synology NAS: Dateisynchronisation ohne Cloud
Offizielle Dokumentation: LinuxServer.io – docker-duplicati (GitHub) | LinuxServer.io – duplicati (Docker Hub) | Duplicati GitHub Repository


