Smart Home / Sicherheit

Paperless-ngx auf ZimaOS sichern: Backup mit Export, Archiv und Vollbackup

In diesem Beitrag zeige ich euch, wie ich mein Paperless-ngx auf ZimaOS sichere, damit ich im Fall der Fälle ein sauberes Backup meiner Daten habe.

Ich nutze dafür zwei Arten von Backup:

  • Paperless-Export als portables Backup der Inhalte
  • Vollbackup der wichtigen Ordner und der Datenbank als zusätzliche Komplettsicherung der laufenden Installation

Das Ganze ist mein Weg für mein Setup. Wenn ihr andere Container-Namen, andere Pfade oder eine andere Verzeichnisstruktur habt, müsst ihr die Befehle entsprechend anpassen.


Kurz zusammengefasst

  • Paperless-Export erstellen
  • Export als tar.gz packen
  • Container stoppen
  • wichtige Ordner und Datenbank sichern
  • Container wieder starten
  • Backups zusätzlich extern wegkopieren

Damit habt ihr sowohl ein portables Backup der Paperless-Inhalte als auch ein Vollbackup der laufenden Installation.


Voraussetzungen

Bevor ihr loslegt, solltet ihr folgende Punkte prüfen:

  • SSH bzw. Terminal-Zugriff auf euren ZimaOS-Host ist aktiviert
  • Ihr kennt eure Container-Namen
  • Ihr kennt eure Paperless-Pfade auf dem Host
  • Ihr habt ein Zielverzeichnis für eure Backups

Die laufenden Container könnt ihr euch mit folgendem Befehl anzeigen lassen:

docker ps

Bei mir sehen die relevanten Pfade so aus:

/media/Storage/Paperless-ngx/data
/media/Storage/Paperless-ngx/media
/media/Storage/Paperless-ngx/export
/media/Storage/Paperless-ngx/consume
/DATA/AppData/paperless/mysql

Mein Paperless-Container heißt:

paperless-paperless-1

Wichtig: Diese Namen und Pfade können bei euch anders sein.


1. Paperless-Export erstellen

Der erste Schritt ist der wichtigste: Ich lasse Paperless selbst einen Export erstellen. Das ist mein portables Backup der Inhalte.

docker exec -it paperless-paperless-1 document_exporter /usr/src/paperless/export

Was macht dieser Befehl?

  • Er führt den Export direkt im laufenden Paperless-Container aus
  • Die Exportdaten landen im Export-Verzeichnis von Paperless
  • Durch den Volume-Mount liegen die Daten anschließend auch auf dem Host im Export-Ordner

Bei meinem Setup landen die Daten dadurch hier:

/media/Storage/Paperless-ngx/export

Hinweis: Wenn euer Container anders heißt, müsst ihr paperless-paperless-1 entsprechend ersetzen.


2. Backup-Verzeichnis anlegen

Als Nächstes lege ich mir ein eigenes Backup-Verzeichnis an:

mkdir -p /media/Storage/Backups

Dort speichere ich später meine gepackten Backup-Dateien ab.

Wichtig: Auch diesen Pfad müsst ihr an euer System anpassen, wenn ihr woanders sichern wollt.


3. Export als tar.gz-Archiv packen

Jetzt packe ich den Export-Ordner in eine einzelne komprimierte Datei. Das ist deutlich praktischer als viele einzelne Dateien zu kopieren oder zu archivieren.

tar -czf /media/Storage/Backups/paperless-export-$(date +%F).tar.gz -C /media/Storage/Paperless-ngx export

Was passiert hier?

  • tar erstellt ein Archiv
  • -c erzeugt ein neues Archiv
  • -z komprimiert mit gzip
  • -f gibt den Dateinamen an
  • $(date +%F) fügt automatisch das aktuelle Datum in den Dateinamen ein
  • -C /media/Storage/Paperless-ngx wechselt in das Verzeichnis
  • export ist der Ordner, der gepackt wird

Am Ende habt ihr dann zum Beispiel eine Datei wie diese:

/media/Storage/Backups/paperless-export-2026-04-08.tar.gz

4. Export prüfen

Danach prüfe ich kurz, ob Export und Archiv wirklich vorhanden sind.

Export-Ordner prüfen:

ls -lah /media/Storage/Paperless-ngx/export

Backup-Datei prüfen:

ls -lah /media/Storage/Backups

5. Container stoppen für ein sauberes Vollbackup

Wenn ich zusätzlich ein komplettes Backup der laufenden Installation machen will, stoppe ich vorher die relevanten Container. So ändern sich während des Backups keine Daten mehr.

docker stop paperless-paperless-1
docker stop paperless-db-1
docker stop paperless-broker-1
docker stop paperless-gotenberg-1
docker stop paperless-tika-1

Hinweis: Diese Container-Namen müsst ihr an eure Umgebung anpassen.


6. Vollbackup der wichtigen Ordner und der Datenbank

Jetzt sichere ich die wichtigen Ordner von Paperless und zusätzlich das Datenverzeichnis der Datenbank in eine weitere Archivdatei.

tar -czf /media/Storage/Backups/paperless-full-cold-$(date +%F).tar.gz \
  /media/Storage/Paperless-ngx/data \
  /media/Storage/Paperless-ngx/media \
  /media/Storage/Paperless-ngx/export \
  /media/Storage/Paperless-ngx/consume \
  /DATA/AppData/paperless/mysql

Damit sichere ich:

  • data – interne Paperless-Daten
  • media – Dokumente, Vorschaubilder und weitere Dateiinhalte
  • export – den zuvor erstellten Paperless-Export
  • consume – den Eingangsordner für neue Dokumente
  • mysql – die Datenbankdaten

Dieses Backup ist das technische Komplettbackup der laufenden Installation.


7. Container wieder starten

Nach dem Backup starte ich die Container wieder:

docker start paperless-db-1
docker start paperless-broker-1
docker start paperless-gotenberg-1
docker start paperless-tika-1
docker start paperless-paperless-1

8. Was ist jetzt eigentlich gesichert?

Wenn ihr die obigen Schritte gemacht habt, habt ihr im Prinzip zwei Sicherungen:

  • ein portables Backup über den Paperless-Export
  • ein vollständiges Backup der relevanten Ordner und der Datenbank

Das ist im Alltag eine ziemlich gute Kombination.


9. Was ihr an eurem Setup anpassen müsst

Wenn ihr die Befehle aus diesem Beitrag übernehmt, müsst ihr vor allem diese Dinge anpassen:

  • paperless-paperless-1 → euer Paperless-Container
  • paperless-db-1, paperless-broker-1, paperless-gotenberg-1, paperless-tika-1 → eure übrigen Container-Namen
  • /media/Storage/Backups → euer Backup-Ziel
  • /media/Storage/Paperless-ngx/... → eure Paperless-Pfade
  • /DATA/AppData/paperless/mysql → euer Datenbank-Pfad

10. Hilfreiche Tipps aus der Praxis

Fehler vor dem Export beheben

Wenn eure Paperless-Instanz bereits Fehler hat, kann der Export abbrechen. Typisch ist zum Beispiel ein Dokument, das noch in der Datenbank vorhanden ist, obwohl die eigentliche Datei auf der Platte fehlt.

Mit diesem Befehl könnt ihr prüfen, ob Paperless Inkonsistenzen meldet:

docker exec -it paperless-paperless-1 document_sanity_checker

Damit seht ihr zum Beispiel:

  • fehlende Originaldateien
  • fehlende Archivdateien
  • fehlende OCR-Daten

Nur Fehler und Warnungen ausgeben

docker exec -it paperless-paperless-1 document_sanity_checker 2>&1 | grep -Ei "error|warning|ocr|issue"

Container-Logs ansehen

Wenn ihr Probleme analysieren wollt, helfen auch die Logs:

docker logs --tail 200 paperless-paperless-1

Weitere Container könnt ihr genauso prüfen:

docker logs --tail 100 paperless-db-1
docker logs --tail 100 paperless-broker-1
docker logs --tail 100 paperless-gotenberg-1
docker logs --tail 100 paperless-tika-1

Backup nicht nur lokal liegen lassen

Ein Backup ist erst dann wirklich sinnvoll, wenn es zusätzlich auf ein anderes Laufwerk oder Gerät kopiert wird.

Zum Beispiel auf:

  • eine externe Festplatte
  • ein NAS
  • einen anderen Server
  • ein zweites Volume

Wenn das Backup nur auf derselben Platte liegt, schützt es nicht gegen Datenträgerausfall.


11. Fazit

Für mich ist das ein praktikabler und sicherer Weg, Paperless-ngx auf ZimaOS zu sichern. Der Export ist ideal als zusätzliche inhaltliche Sicherung, und das Vollbackup der Ordner plus Datenbank gibt noch einmal extra Sicherheit.

Wenn ihr möchtet, könnt ihr diesen Beitrag gerne zusammen mit meinem Video nutzen und die Befehle Schritt für Schritt nachbauen. Achtet nur darauf, dass ihr Container-Namen, Pfade und Backup-Ziele an euer eigenes Setup anpasst.

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Hinweis: Ein separater Beitrag bzw. ein separates Video zum Thema Neuaufsetzen und Wiederherstellung folgt separat.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Please disable your adblocker or whitelist this site!

WordPress Cookie Hinweis von Real Cookie Banner