Files
Homelab--Bratonein-Kontroll…/Kapitel 8/Free Rohtext.md

18 KiB
Raw Blame History

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:

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
    👉 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:

cd /tmp
wget <HIER_DEN_KOPIERTEN_LINK_EINFÜGEN>

👉 Screenshot geeignet: Konsole Download mit wget erfolgreich abgeschlossen

  1. Installiere das Paket und ziehe bei Bedarf fehlende Abhängigkeiten nach:
dpkg -i <NAME_DER_DATEI>.deb
apt-get install -f -y
  1. Prüfe die Installation:
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://<Container-IP>: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

  1. 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“

  1. 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 backupConfigure a new backupNext.
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. 56 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://<Container-IP>:8200 aufrufst.

Lösung:

  1. Im Proxmox-Fenster prüfen, ob der Duplicati-Container gestartet ist.
  2. Teste im Browser die direkte Adresse: http://<Container-IP>: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.