Zum Inhalt

Docker-Projektordner mit restic verschlüsselt sichern

Veröffentlicht am 30. Juli 2026 · Geschätzte Lesezeit: 3 Minuten

Compose-Datei, Einstellungen und eingebundene Datenordner lassen sich mit restic verschlüsselt auf ein NAS oder externes Laufwerk sichern. Restic speichert nur neue oder geänderte Datenblöcke und legt bei jedem Lauf einen wiederherstellbaren Snapshot an. Diese Anleitung sichert ein Docker-Projekt mit Bind-Mounts manuell. Plane für die Einrichtung etwa 20 Minuten ein; das erste Backup kann je nach Datenmenge länger dauern. Grundlage ist die offizielle restic-Dokumentation (Stand: 29. Juli 2026).

Voraussetzungen

  • Ein Debian- oder Ubuntu-Server mit sudo-Zugriff
  • Ein Docker-Compose-Projekt mit Daten in seinem Projektordner
  • Ein eingehängtes NAS-Verzeichnis oder externes Laufwerk
  • Genügend freier Platz für mindestens ein vollständiges Backup

1. Speicherorte prüfen

Lege zuerst zwei Werte fest:

  • <projekt-ordner> ist der vollständige Pfad zum Docker-Projekt, zum Beispiel /home/conny/ntfy
  • <backup-pfad> ist der vollständige Pfad zum eingehängten Sicherungsmedium, zum Beispiel /mnt/nas-backup

Prüfe, ob das Sicherungsmedium wirklich eingehängt ist. Ersetze <backup-pfad> vorher durch deinen Pfad:

findmnt <backup-pfad>

Backup nicht auf dieselbe Systemplatte legen

Ein Ordner auf derselben Platte schützt nicht vor deren Ausfall. Bei einem NAS-Mount kann ein Verbindungsfehler dazu führen, dass du versehentlich lokal in einen leeren Mountpunkt sicherst. Prüfe deshalb vor jedem Lauf findmnt.

2. restic installieren

Aktualisiere auf Debian oder Ubuntu die Paketinformationen:

sudo apt update

Installiere anschließend restic aus der Paketverwaltung:

sudo apt install restic

Prüfe, ob das Programm aufrufbar ist:

restic version

3. Backup-Repository vorbereiten

Ersetze <backup-pfad> und erstelle dort den Unterordner für das verschlüsselte Repository:

sudo mkdir -p <backup-pfad>/restic-docker

Initialisiere das Repository. restic fragt das neue Passwort zweimal verdeckt ab:

sudo restic -r <backup-pfad>/restic-docker init

Repository-Passwort sicher verwahren

Ohne dieses Passwort können die Backups nicht wiederhergestellt werden. Es gibt keine Zurücksetzen-Funktion. Speichere das Passwort in einem Passwortmanager und lege eine geschützte Notfallkopie an. Schreibe es nicht in Befehle oder Skripte.

4. Speicherart des Docker-Projekts prüfen

Wechsle in <projekt-ordner> und lasse dir die aufgelöste Compose-Konfiguration anzeigen:

cd <projekt-ordner>
docker compose config

Prüfe unter volumes, ob die dauerhaften Daten als Ordner wie ./data:/app/data eingebunden sind. Solche Bind-Mounts liegen im Projektordner und werden mitgesichert.

Benannte Docker-Volumes fehlen sonst

Ein Eintrag wie daten:/app/data verweist auf ein benanntes Docker-Volume außerhalb des Projektordners. Dieses Backup erfasst es nicht. Migriere die Daten fachgerecht in einen Bind-Mount oder sichere das Volume mit einem dafür vorgesehenen zusätzlichen Verfahren.

5. Erstes Backup erstellen

Stoppe das Projekt kurz, damit Datenbanken und Konfigurationsdateien einen konsistenten Stand haben:

docker compose down

Ersetze beide Platzhalter und sichere den vollständigen Projektordner. restic fragt das Repository-Passwort ab:

sudo restic -r <backup-pfad>/restic-docker backup <projekt-ordner>

Starte die Container danach wieder:

docker compose up -d

Ein erfolgreicher Lauf endet mit einer Meldung, dass ein Snapshot gespeichert wurde.

6. Backup prüfen

Liste die vorhandenen Snapshots auf:

sudo restic -r <backup-pfad>/restic-docker snapshots

Prüfe danach die interne Struktur des Repositorys:

sudo restic -r <backup-pfad>/restic-docker check

Prüfen gehört zum Backup

Eine vorhandene Sicherungsdatei allein beweist noch nicht, dass du sie lesen kannst. Führe restic check regelmäßig aus und teste zusätzlich eine Wiederherstellung in einen separaten Ordner.

7. Testweise wiederherstellen

Erstelle einen leeren Zielordner außerhalb des laufenden Docker-Projekts:

mkdir -p ~/restic-wiederherstellung

Stelle den neuesten Snapshot dort wieder her. Ersetze <backup-pfad>:

sudo restic -r <backup-pfad>/restic-docker restore latest --target ~/restic-wiederherstellung

Vergleiche anschließend Compose-Datei und Datenordner mit dem Original. Starte die wiederhergestellte Kopie nicht parallel zum Original, weil beide dieselben Ports verwenden können.

8. Rückweg und Sicherheitsregeln

Wenn ein Backup fehlschlägt, starte das gestoppte Projekt zuerst wieder:

cd <projekt-ordner>
docker compose up -d

Lösche weder Originaldaten noch ältere Snapshots, bevor eine Testwiederherstellung erfolgreich war. Trenne das Backup-Medium nach Möglichkeit logisch oder physisch vom Server, damit Schadsoftware und Bedienfehler nicht gleichzeitig Original und Sicherung erreichen.

Für eine echte Rücksicherung stoppst du das Projekt, benennst den beschädigten Originalordner um und kopierst erst danach die geprüften Dateien aus dem Wiederherstellungsordner an ihren vorgesehenen Platz.

Fertig

Der Docker-Projektordner liegt nun als verschlüsselter restic-Snapshot auf einem separaten Speicher. Die Sicherung ist geprüft, wenn restic check ohne Fehler endet und die Testwiederherstellung Compose-Datei sowie Datenordner enthält.