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.gzpacken - 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?
tarerstellt ein Archiv-cerzeugt ein neues Archiv-zkomprimiert mit gzip-fgibt den Dateinamen an$(date +%F)fügt automatisch das aktuelle Datum in den Dateinamen ein-C /media/Storage/Paperless-ngxwechselt in das Verzeichnisexportist 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-Containerpaperless-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.
Hinweis: Ein separater Beitrag bzw. ein separates Video zum Thema Neuaufsetzen und Wiederherstellung folgt separat.