# Kapitel 8 – Duplicati – GUI-gestütztes Backup nach der 3-2-1-Regel ## 1. Einleitung Backups gehören zu den wichtigsten Grundlagen im UCC. Dieses Kapitel zeigt dir, wie du mit **Duplicati** ein sicheres und komfortables Backup-System einrichtest. Duplicati ist eine **Open-Source-Backup-Software mit Web-GUI**, die für Einsteiger verständlich bleibt, aber genug Funktionen für große Datenmengen bietet. ### Warum Duplicati? - **GUI-basiert:** Die gesamte Einrichtung und Verwaltung erfolgt bequem im Browser. - **Verschlüsselung & Komprimierung:** Schützt Daten und spart Speicherplatz. - **Inkrementelle Sicherung:** Nach dem ersten Backup werden nur geänderte Teile übertragen. - **Breite Speicherziel-Unterstützung:** Lokale Platten, NAS, externe USB-Disks und Cloud-Dienste – wichtig für die **3-2-1-Regel**. - **Flexible Anpassung:** Für große Archive wie VOD-Sammlungen können wir im Premium-Teil die **Blockgröße anpassen** und Workarounds zur Beschleunigung nutzen. ### Die 3-2-1-Regel Für ein wirklich belastbares Backup brauchst du: - **3 Kopien** der Daten → 1 × Original + 2 × Backup - auf **2 unterschiedlichen Speichermedien** → z. B. interne HDD + NAS oder USB-HDD - davon **1 Kopie außer Haus** → z. B. Cloud-Speicher oder extern gelagerte Festplatte [!WARNING] RAID ersetzt kein Backup. Brand, Diebstahl oder Malware betreffen alle Laufwerke im selben Gerät – nur getrennte Speicherorte schützen. ### Für wen dieses Kapitel gedacht ist Wir bleiben bei der gewohnten Zielgruppe: Content-Creator und Privatanwender ohne tiefes Linux-Wissen. Deshalb zeigen wir alle Schritte in der **Web-GUI von Duplicati**. CLI-Befehle werden nur dann benötigt, wenn sie klare Vorteile bringen (z. B. optimierte Blockgröße). Diese Sonderfälle behandeln wir im **Premium-Kapitel** und liefern sie als fertige Befehle, sodass du nichts selbst zusammensuchen musst. [!TIP] In Free lernst du die **Basisinstallation** und ein erstes komplettes Backup (z. B. Nextcloud). Im Premium-Teil kommen **Performance-Optimierungen**, **selektive Sicherung** und **Workarounds für große Archive** dazu. ### Schaubild – 3-2-1-Regel (Platzhalter) [Schaubild: Quelle → lokales Backup → zweites Medium → außer Haus] - Quelle: z. B. **Nextcloud-Daten** - Backup 1: **schnelles lokales Repository** (z. B. interne HDD/SSD) - Backup 2: **zweites Medium** (z. B. externe USB-HDD oder NAS) - Außer Haus: **Cloud-Ziel** oder physisch ausgelagerte Festplatte --- ## 2. Voraussetzungen Duplicati benötigt kein komplexes System und läuft stabil auf einer schlichten Linux-Umgebung. Für saubere Trennung und Wartbarkeit setzen wir wie gewohnt auf einen **eigenen LXC-Container mit Debian 12**. ### 2.1 Minimale Systemressourcen des Containers - **Betriebssystem:** Debian 12 - **CPU:** 2 Kerne - **RAM:** 4 GB (empfphlen nicht weniger) - **Root-Speicher:** 10 GB für Programm, Logs und Metadaten - **Netzwerk:** DHCP mit **Reservierung im Router** (innerhalb des DHCP-Pools, siehe Kapitel 1) - **Backup-Speicherort:** - lokales Verzeichnis auf dem Proxmox-Host (z. B. `/mnt/backups/`) oder - eingehängte externe HDD / NAS-Freigabe [!WARNING] Plane für das Backup-Ziel **mindestens 120 % der Datenmenge** ein, die du sichern möchtest. Für inkrementelle Versionen und wachsende VOD-Archive ist dieser Puffer wichtig. ### 2.2 Voraussetzungen im UCC-Netzwerk - Ein laufender **Proxmox-Host** mit Internetzugang - Zugriff auf den geplanten Backup-Speicherort (lokal oder im Netzwerk) - Bereits eingerichteter **Nginx Proxy Manager** (Kapitel 3), falls die Duplicati-Web-GUI später unter einer Domain und per HTTPS erreichbar sein soll ### 2.3 Sicherheit Duplicati verschlüsselt Backups optional mit AES-256. Das **Passwort** für die Verschlüsselung darf **nicht verloren gehen** – ohne dieses ist keine Wiederherstellung möglich. Wir empfehlen, das Passwort in **Vaultwarden** (Kapitel 5) zu speichern. [!TIP] Wer von Anfang an die **3-2-1-Regel** umsetzen will, plant gleich zwei Ziele ein: 1. ein **schnelles lokales Backup-Ziel** (z. B. interne HDD oder NAS) 2. ein **zweites Medium oder Cloud-Speicher** für die Kopie außer Haus --- ## 3. Installation von Duplicati (Debian 12) Duplicati läuft in einem eigenen LXC-Container mit Debian 12. Wir bereiten den Container vor und installieren anschließend das aktuelle .deb-Paket. ### 3.1 Container vorbereiten 1) Öffne das **Proxmox-Webinterface**, wähle links den **Duplicati-Container** und öffne die **Konsole**. 👉 Screenshot geeignet: Proxmox – Container auswählen und Konsole geöffnet 2) Führe in der Konsole folgende Befehle aus, um das System zu aktualisieren und die benötigten Hilfspakete zu installieren: ```bash apt update && apt upgrade -y apt install -y wget ca-certificates ``` 👉 Screenshot geeignet: Konsole nach erfolgreichem Update und Installation ### 3.2 Duplicati herunterladen und installieren 1) Öffne auf deinem **PC-Browser** die Seite [https://www.duplicati.com/download](https://www.duplicati.com/download) 👉 Screenshot geeignet: Duplicati-Downloadseite mit sichtbarem Bereich „Linux 64-bit (GUI)“ 2) Kopiere beim Eintrag **Linux 64-bit (GUI)** den Link der aktuellen Stable-Version (z. B. `duplicati-2.1.x.x_linux-x64-gui.deb`). 3) Lade die Datei im Container in das Verzeichnis `/tmp` herunter: ```bash cd /tmp wget ``` 👉 Screenshot geeignet: Konsole – Download mit `wget` erfolgreich abgeschlossen 4) Installiere das Paket und ziehe bei Bedarf fehlende Abhängigkeiten nach: ```bash dpkg -i .deb apt-get install -f -y ``` 5) Prüfe die Installation: ```bash duplicati-server --version ``` 👉 Screenshot geeignet: Konsole – Anzeige der installierten Duplicati-Version [!WARNING] Duplicati bietet **kein** statisches „latest“-Paket. Immer den konkreten Link der aktuellen Stable-Version von der Downloadseite verwenden. [!TIP] Nach der Installation ist die Web-GUI unter `http://:8200` erreichbar. ### 3.3 Duplicati in Nginx Proxy Manager einbinden Öffne den **Nginx Proxy Manager** und lege einen neuen Proxy-Host für Duplicati an. 1) **Anmelden** im NPM-Dashboard 👉 Screenshot geeignet: NPM – Dashboard 2) Klick auf **Add Proxy Host** 3) Trage folgende Werte ein: | Feld | Wert / Auswahl | |--------------------------------|-----------------------------------------| | **Domain Names** | `backup.deinedomain.tld` | | **Scheme** | `http` | | **Forward Hostname / IP** | IP-Adresse des Duplicati-Containers | | **Forward Port** | `8200` | | **Block Common Exploits** | aktivieren | | **Websockets Support** | aktivieren | 👉 Screenshot geeignet: Formular „Add Proxy Host“ mit eingetragener IP und Port 8200 4) Wechsel zu **SSL** und setze: | Feld | Einstellung | |-----------------------------------|---------------------------------| | **Request a new SSL Certificate** | aktivieren | | **Force SSL** | aktivieren | | **HTTP/2 Support** | aktivieren | 👉 Screenshot geeignet: SSL-Tab mit aktivierter Option „Force SSL“ 5) **Save** klicken, um den Proxy-Host anzulegen. Nach wenigen Sekunden ist Duplicati über die Subdomain erreichbar, z. B.: `https://backup.deinedomain.tld` [!TIP] Falls der Zugriff auch von außen möglich sein soll, Port **443** im Router auf den NPM-Host weiterleiten. ### 3.4 Ersteinrichtung der Duplicati-Web-GUI #### 1) Aufruf der Web-Oberfläche Öffne im Browser die zuvor eingerichtete Adresse: `https://backup.deinedomain.tld` Prüfe, ob das Schlosssymbol (HTTPS) angezeigt wird. Wenn die Seite nicht lädt, kontrolliere im NPM-Kapitel die Domain und das SSL-Zertifikat. 👉 Screenshot geeignet: Duplicati-Startseite mit sichtbarem HTTPS-Schloss #### 2) Backup-Assistent starten Klicke auf **Add backup** → **Configure a new backup** → **Next**. Damit startest du den geführten Assistenten und vermeidest, Einstellungen zu übersehen. 👉 Screenshot geeignet: Assistent „Configure a new backup“, Schritt 1 sichtbar #### 3) Name & Verschlüsselung setzen - **Name:** Vergib einen klaren Namen, z. B. `Nextcloud_Full_Backup`. - **Encrypt backup:** Aktivieren. - **Passphrase:** Starkes, langes Passwort wählen (mind. 16 Zeichen, zufällig). In **Vaultwarden** ablegen (Kapitel 5). [!WARNING] Ohne die Passphrase ist **keine Wiederherstellung** möglich. Die Passphrase wird nicht „zurücksetzbar“ gespeichert. [!TIP] Nutze eine Passwort-Phrase (z. B. 5–6 zufällige Wörter) oder einen Generator in Vaultwarden. Teste die Eingabe sofort mit „Augen-Icon“ (Lesbarkeit), um Tippfehler auszuschließen. 👉 Screenshot geeignet: Formular „Name & Encryption“ mit aktivierter Verschlüsselung #### 4) Quelle & Ziel definieren **Quelle (Source data)** - Klicke auf **Source data** und wähle dein Datenverzeichnis, z. B. `/mnt/nextcloud_data` - Achte darauf, dass gemountete Speicher bereits vorhanden sind. **Ziel (Destination)** - **Destination type:** `Local folder or drive` - **Path:** z. B. `/mnt/backups/nextcloud` - Erstelle den Ordner vorher, falls er noch nicht existiert (`mkdir -p /mnt/backups/nextcloud`). - Klicke auf **Test connection**. Die Meldung muss **OK** sein. [!TIP] Halte dich an die 3-2-1-Regel: Dieses Ziel ist deine **lokale Kopie**. Eine zweite Kopie auf **anderem Medium** (z. B. USB-HDD/NAS) und **außer Haus** (z. B. Cloud) ergänzen wir später. [!WARNING] Wenn „Permission denied“ erscheint, fehlen Schreibrechte auf dem Zielpfad. Prüfe Mount, Besitzer und Rechte. 👉 Screenshot geeignet: Destination-Einstellungen mit Pfad und „Test connection: OK“ #### 5) Zeitplan, Aufbewahrung, Start **Zeitplan (Schedule)** - Stelle **täglich um 02:00 Uhr** ein. - Aktiviere **Run missed schedule immediately**, damit verpasste Läufe nachgeholt werden. **Aufbewahrung (Retention)** - Wähle **Smart backup retention**. Empfohlener Start: - 7 Tage: täglich behalten - 4 Wochen: wöchentlich behalten - 3 Monate: monatlich behalten [!NOTE] Diese Werte funktionieren für die meisten. Im Premium-Teil passen wir sie an Datenwachstum und Speicherplatz an. **Speichern & erster Lauf** - Klicke **Save**. - Starte mit **Run now** den ersten Lauf. Das erste Backup dauert am längsten; Folge-Backups sind inkrementell und deutlich schneller. - Beobachte den Fortschritt in der Übersicht (Status, Geschwindigkeit, geschriebene Daten). 👉 Screenshot geeignet: Übersichtsseite mit laufendem Job („Running…“ und Fortschrittsbalken) ### 3.5 Backup überwachen und testen Regelmäßige Kontrolle und ein Test der Wiederherstellung sind entscheidend, um sicherzustellen, dass deine Sicherungen auch im Ernstfall funktionieren. #### 1) Backup-Status prüfen Öffne die Duplicati-Web-GUI unter `https://backup.deinedomain.tld` Die Startseite zeigt alle eingerichteten Jobs mit diesen Spalten: - **Last successful backup:** Datum und Uhrzeit des letzten erfolgreichen Laufs - **Next scheduled run:** Zeitpunkt des nächsten geplanten Backups - **Last result:** grüner Haken = erfolgreich, rotes Kreuz = Fehler 👉 Screenshot geeignet: Job-Übersicht mit grünem Haken bei „Last result“ [!TIP] Prüfe den Status mindestens einmal pro Woche. #### 2) Benachrichtigungen per E-Mail einrichten Damit Fehler nicht unbemerkt bleiben, solltest du dir Berichte per E-Mail senden lassen. 1) In der Web-GUI oben rechts auf **Settings → Default options** klicken. 2) Unter **send-mail-to** die eigene E-Mail-Adresse eintragen. 3) Unter **send-mail-url** den SMTP-Server deines Mail-Providers hinterlegen. 4) Benutzername und Passwort für den Mailserver ergänzen. 5) Mit **Test** prüfen, ob die Verbindung funktioniert. 👉 Screenshot geeignet: Einstellungen mit eingetragener E-Mail-Adresse und erfolgreichem Test [!TIP] Falls du keinen eigenen Mailserver hast, kannst du den SMTP-Dienst deines Hosting-Anbieters oder deiner Domain verwenden. #### 3) Fehlerprotokolle einsehen Falls ein Backup fehlschlägt: 1) Auf den entsprechenden Job klicken. 2) **Show log → Remote log** öffnen. 3) Fehlerdetails überprüfen, z. B. fehlende Rechte oder nicht erreichbare Ziele. 👉 Screenshot geeignet: Fehlerprotokoll mit Beispiel-Fehlermeldung #### 4) Test-Wiederherstellung durchführen Mindestens einmal nach der Einrichtung und dann regelmäßig (z. B. alle paar Monate) eine Wiederherstellung testen. 1) In der Web-GUI auf den Job klicken. 2) **Restore files** wählen. 3) Einen kleinen Ordner oder einige Dateien auswählen. 4) Zielordner für den Restore wählen (z. B. temporäres Testverzeichnis). 5) Wiederherstellung starten und prüfen, ob die Dateien vollständig und fehlerfrei sind. 👉 Screenshot geeignet: Fenster der Wiederherstellung mit ausgewählten Test-Dateien [!NOTE] Die Test-Wiederherstellung stellt sicher, dass sowohl die Backups als auch das gewählte Zielmedium korrekt funktionieren. --- ## 4. Troubleshooting & Tipps Hier findest du die häufigsten Probleme und was du tun kannst, um sie schnell zu beheben. Alle Schritte sind so beschrieben, dass sie auch ohne Vorkenntnisse leicht nachvollziehbar sind. ### 4.1 Die Web-Oberfläche öffnet sich nicht **Symptom:** Im Browser kommt keine Seite, wenn du `https://backup.deinedomain.tld` oder `http://:8200` aufrufst. **Lösung:** 1) Im **Proxmox-Fenster** prüfen, ob der Duplicati-Container gestartet ist. 2) Teste im Browser die direkte Adresse: `http://:8200` – funktioniert das, liegt das Problem am Proxy. 3) Melde dich im **Nginx Proxy Manager** an und kontrolliere beim Eintrag für Duplicati: - Die **IP-Adresse** des Containers ist korrekt. - Der **Port 8200** ist richtig eingetragen. - **Force SSL** ist aktiviert. 4) Wenn du von außerhalb zugreifst: Stelle sicher, dass im Router die Ports **80** und **443** an den NPM-Server weitergeleitet sind. 👉 Screenshot geeignet: Proxy-Host-Einstellungen in NPM mit IP und Port 8200 ### 4.2 Browser meldet „Verbindung nicht sicher“ **Symptom:** Im Browser erscheint ein Warnsymbol oder die Meldung „unsichere Verbindung“. **Lösung:** - Im NPM den Eintrag für Duplicati öffnen → Tab **SSL** → auf **„Request a new SSL Certificate“** klicken. - Prüfen, ob im Router die Ports **80 und 443** freigegeben sind, damit das Zertifikat ausgestellt und erneuert werden kann. - Seite nach der Erneuerung neu laden und ggf. Browser-Cache leeren. ### 4.3 Backup bricht ab mit „keine Berechtigung“ **Symptom:** Der Job startet, bricht aber mit der Meldung „Permission denied“ ab. **Lösung:** - Prüfen, ob der Ordner, den du als Ziel gewählt hast (z. B. `/mnt/backups/nextcloud`), existiert. - Sicherstellen, dass der Ordner nicht schreibgeschützt ist. - Bei externen Laufwerken (z. B. USB-HDD) kontrollieren, ob das Laufwerk korrekt eingehängt ist und genügend freien Speicher hat. 👉 Screenshot geeignet: Fehlermeldung „Permission denied“ im Duplicati-Protokoll ### 4.4 Backup dauert ungewöhnlich lange **Symptom:** Das erste Backup braucht viele Stunden oder wirkt sehr langsam. **Lösung:** - Keine Sorge: **Das erste Backup dauert immer am längsten**, weil alle Dateien kopiert werden. - Folge-Backups sichern nur die Änderungen und sind deutlich schneller. - Bei sehr großen Datenmengen (mehr als 500 GB) kann die voreingestellte Blockgröße von 100 KB bremsen. → Im Premium-Kapitel zeigen wir, wie man die Blockgröße anpasst, um Zeit zu sparen. - Prüfen, ob der Container ausreichend Ressourcen hat (mindestens **4 GB RAM**). ### 4.5 Wiederherstellung schlägt fehl **Symptom:** Beim Test-Restore fehlen Dateien oder es erscheint eine Fehlermeldung. **Lösung:** - Sicherstellen, dass die richtige **Passphrase** für die Entschlüsselung eingegeben wurde. - Im Menü des Jobs auf **Show log → Remote log** klicken, um Fehlerdetails zu sehen. - Prüfen, ob das Ziel-Laufwerk für die Wiederherstellung genügend freien Speicherplatz und Schreibrechte hat. - Restore-Vorgang erneut ausführen, falls die Verbindung abgebrochen war. 👉 Screenshot geeignet: Fenster mit ausgewähltem Test-Restore und Fortschrittsanzeige [!TIP] Führe alle paar Monate eine kleine **Test-Wiederherstellung** durch, um sicherzugehen, dass deine Backups wirklich nutzbar sind. ## 5. Zusammenfassung In diesem Kapitel hast du gelernt, wie du mit **Duplicati** zuverlässige Backups nach der 3-2-1-Regel einrichtest. - Wir haben dafür einen eigenen **LXC-Container mit Debian 12** erstellt und ihm **4 GB RAM** gegeben. - Duplicati wurde installiert und über den **Nginx Proxy Manager** per Subdomain und HTTPS erreichbar gemacht. - Du hast gesehen, wie man mit dem **Backup-Assistenten** Schritt für Schritt einen Job anlegt: Name vergeben, Verschlüsselung aktivieren, Quelle und Ziel auswählen, Zeitplan und Aufbewahrung einstellen. - Die Funktion **Smart Retention** sorgt automatisch für eine saubere Versionierung der Sicherungen. - Du weißt jetzt, wie du den **Status der Backups prüfst**, E-Mail-Benachrichtigungen einrichtest und bei Bedarf eine **Test-Wiederherstellung** durchführst. - Im Abschnitt **Troubleshooting & Tipps** findest du Lösungen für die häufigsten Probleme. [!TIP] Im Premium-Kapitel lernst du, wie du **große Datenmengen optimierst** und **selektive Sicherungen** für spezielle Daten wie VOD-Archive oder Datenbanken einrichtest. Damit ist dein Backup-System einsatzbereit und du hast den wichtigsten Teil der 3-2-1-Regel umgesetzt: eine lokale, verschlüsselte und automatisierte Sicherung deiner Daten.