Paperless-ngx Paperless-ngx – DMS via Docker auf dem NAS

allahopp

Benutzer
Mitglied seit
15. Mai 2022
Beiträge
133
Punkte für Reaktionen
10
Punkte
18
Habe paperless soweit am laufen, dass ich mich jetzt mal mit der Sicherung beschäftigen muss.
Es gibt ja diese Export-Funktion, die div. Elemente sichert. Eigentlich wollte ich nur den Parameter "-p" nutzen. Jedoch habe ich in der Doku gelesen, dass es auch sinnvoll sein kann die Parameter "na" und "nt" zu nutzen.
It can make sense to omit these files from backup as their content and checksumcan change (new archiver algorithm) and may then cause additional used space ina deduplicated backup
Deshal mal die Frage an diejenigen die auch diesen exporter nutzen, mit welchen Parameter ihr das sichert.
Danke.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Also ich setze hauptsächlich auf die Sicherung der Datenbank + Sicherung der Dokumente (also gemapptes Verzeichnis media sichern).
Den Exporter hab ich nebenbei per Script am Laufen. Allerdings ohne die genannten Parameter. Und zum Restore greife ich eher auf erstere Sicherung zurück.
 
  • Like
Reaktionen: allahopp

Frank73

Benutzer
Mitglied seit
29. Jan 2018
Beiträge
149
Punkte für Reaktionen
5
Punkte
18
Ich sichere meine Daten aus paperless wie folgt:
  • Einen Dump von meiner DB (PostgreSQL)
  • Exportfunktion von paperless
  • Alles auf einen anderen Share syncen.

Code:
backup_source="/volume1/docker/paperless/"
backup_target="/volume1/vm_daten/backup"
ausschluss="/volume1/vm_daten/ausschluss.txt"
protokoll="/volume1/vm_daten/backup/protokoll.log"
protokoll_err="/volume1/vm_daten/backup/protokoll_err.log"
akt_date=$(date +%d.%m.%Y)
akt_time=$(date +%H:%M:%S)

# Vorabprüfungen ob Protokolldateien vorhanden sind, andernfalls anlegen

if [ ! -f "${protokoll}" ]
    then
        touch "${protokoll}"
        chmod 666 "${protokoll}"
        chown vm_user: "${protokoll}"

elif [ ! -f "${protokoll_err}" ]
    then
        touch "${protokoll_err}"
        chmod 666 "${protokoll_err}"
        chown vm_user: "${protokoll_err}"
fi               

# dump von postgresql erstellen

docker exec containername bash -c "pg_dumpall -U User > /backup/backup_pg.sql"
#echo "dump" $?
retVal=$?

# exporter von paperless starten, wenn dump-erstellung erfolgreich

if [ $retVal -eq 0 ]
    then
        sleep 5
        docker exec paperless bash -c "document_exporter ../export -p"
        retVal=$?
        #echo "paperless" $retVal
    else
        exit $retVal
fi

# daten auf share syncen, um mit HB inkl. Rotation gesichert zu werden

if [ $retVal -eq 0 ]
    then
        sleep 5
        echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" >> $protokoll_err
        echo "Datum der Sicherung: " $akt_date " / " $akt_time >> $protokoll_err

        echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" >> $protokoll
        echo "Datum der Sicherung: " $akt_date " / " $akt_time >> $protokoll
        rsync -av --exclude-from="$ausschluss" ${backup_source} ${backup_target} >> $protokoll 2>> $protokoll_err
    else
        exit $retVal
fi

Es wäre für mich sehr lehrreich, wenn ihr mir eure Verbesserungen in dem Script mitteilt, damit ich diese noch einarbeiten kann.
Danke!
 

Biernot78

Benutzer
Mitglied seit
26. Okt 2018
Beiträge
50
Punkte für Reaktionen
3
Punkte
8
Es wäre einfach nur cool wenn eine Backup Funktion in paperless integriert werden würde.
 
  • Like
Reaktionen: dirk1305 und Dog6574

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.217
Punkte für Reaktionen
1.037
Punkte
224
Aber… Es ist eine Funktion in Form des Exporters/Importers integriert. Wenn dir das wichtig ist, dann musst du dir bitte die Mühe machen, und das ganze für GitHub niederschreiben, dort sitzen die Entwickler und die können das wenn möglich auch programmieren.

Bis dahin gibt es aber, wie gesagt, genügend nicht allzu komplizierte Möglichkeiten, ein Back-up durchzuführen.
 
  • Like
Reaktionen: Frank73 und Dog6574

Frank73

Benutzer
Mitglied seit
29. Jan 2018
Beiträge
149
Punkte für Reaktionen
5
Punkte
18
Ich sehe das so ähnlich wie @Monacum.
Ich habe das mit dem exporter mal wie folgt getestet:
Den Exporter direkt auf der paperless-Konsole gestartet. Danach alle(!) Dokumente in paperless gelöscht. Über pg4admin die Tabelleneinträge von paperless überprüft ob diese leer sind. Danach über den importer die Dokumente wieder eingespielt und die Tabelleneinträge erneut gecheckt --> alles wieder da.
Darum habe ich mir das obige Script gebaut um soweit möglich alle Eventualitäten abzusichern.

Dump: Das sehe ich im Wesentlichen dafür, wenn PostgreSQL upgedatet wird.
Export: Das ist lt. paperless-Doku die beschriebene Möglichkeit Daten wegzusichern und wieder einzulesen.
Sync auf den Share: Hierüber möchte ich alles mittels HB und einer vorhandenen Rotation sichern. Hier handhabe ich es wie @plang.pl. Dies wäre meine 1. Option.

Da das alles über das Script (wöchentlicher Lauf über Aufgabenplaner) automatisiert läuft, bräuchte ich aktuell persönlich auch keine GUI um dies in paperless zu administrieren.
Weiterer Vorteil dieser Variante (meine persönliche Meinung). Man setzt sich mit der Materie Container, Konsole ... mehr auseinander, als nur Klicki-Klicki-Bunti zu machen (und Spass machts obendrein auch noch). ;)
 
  • Like
Reaktionen: Dog6574

Frank73

Benutzer
Mitglied seit
29. Jan 2018
Beiträge
149
Punkte für Reaktionen
5
Punkte
18
Habe jetzt mal alles so eingerichtet und auch einen "Notfalltest" durchgeführt. Läuft soweit alles.
Eine Frage ist dabei noch aufgekommen.
Die PostgreSQL-DB sichere ich über einen Dump, da die Datenbank für diesen Vorgang gelockt wird um eine Datenkonsistenz sicherzustellen. Daher verzichte ich bei HB auf eine Sicherung dieses Ordners.

Paperless hat ja auch div. Dateien, welche u. U. bei der Sicherung im Zugriff sein könnten (log-Datei, Pickle-Datei oder die celerybeat-scheduler-db). Können diese Verzeichnisse trotzdem per HB gesichert werden, oder kann des da zu Inkonsistenzen der Daten kommen?
 

dirk1305

Benutzer
Mitglied seit
11. Jul 2014
Beiträge
13
Punkte für Reaktionen
0
Punkte
1

deltapapa

Benutzer
Mitglied seit
06. Jan 2019
Beiträge
111
Punkte für Reaktionen
5
Punkte
24
Moin, weiß jemand zufällig, wie ich in der Konsole im Portainer die PNGX Version auslesen kann? --version und -v geht nicht :)
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Siehst du doch auch einfach in der Weboberfläche unten links.
 

deltapapa

Benutzer
Mitglied seit
06. Jan 2019
Beiträge
111
Punkte für Reaktionen
5
Punkte
24
Jo, danke, ich dachte man könnte das wie bei redis/postgre auslesen
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Du siehst es auch an den Docker-Labels:
1.png

Das ist in portainer. Den Container Manager nutze ich nicht. Hab da aber mal kurz rumgeklickt und die Labels dort nicht gefunden
 

deltapapa

Benutzer
Mitglied seit
06. Jan 2019
Beiträge
111
Punkte für Reaktionen
5
Punkte
24
Moin, jo, ich nutze auch die Konsole im Portainer um die Version der DB und Redis zu checken. Nun wäre es cool gewesen (wenn man schon hier ist) gleich die Version von Paperless mit auszulesen...
 

deltapapa

Benutzer
Mitglied seit
06. Jan 2019
Beiträge
111
Punkte für Reaktionen
5
Punkte
24
Moin Moin und frohe Ostern :)
Ich habe nochmal eine kurze Frage: Ich habe eine zweite PaperlessNGX Instanz, ist es möglich die irgendwie zurück zu setzen? Also komplett leer ohne Dateien und DB Einträgen?
Ich wollte mal ein bisschen mit der Export / Import Funktion rumspielen, und jedes Mal den Stack komplett zu löschen und wieder aufzusetzen finde ich nicht so Ressourcen schonend.
 

Kenji

Benutzer
Mitglied seit
09. Feb 2024
Beiträge
52
Punkte für Reaktionen
8
Punkte
58
Hallo Zusammen,

hätte noch eine kleinere Frage. Meine Paperlessngx Container hat sich umbenannt (311500f77519) und lässt sich nun nicht mehr öffnen im Container Manager. Paperlessngx läuft aber weiterhin ohne Probleme und im Portainer selber ist dies auch ohne die Zahlenfolge benannt.
Das einzige was ich die letzten Wochen gemacht habe war die Dump Aufgaben Erstellung für ein Backup, ich behaupte mal das dies aber nichts damit zu tun hat..
 

Anhänge

  • 2.png
    2.png
    92,9 KB · Aufrufe: 10
  • 1.png
    1.png
    53,7 KB · Aufrufe: 10

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
@Kenji Das ist m.E. nur ein Fehler im Container Manager.
Wenn in portainer alles richtig angezeigt wird, ist dem mehr Glauben zu schenken, denke ich.
Man kann sich auch mal via ssh anmelden und dann mit dem Befehl docker container show kucken, was tatsächlich "am Start ist".
 

Dog6574

Benutzer
Mitglied seit
15. Sep 2014
Beiträge
181
Punkte für Reaktionen
1
Punkte
18
Hallo.

Eine automatische Backup Funktion wäre echt gut. Ich stoße hier irgendwie an meine Grenzen.

Gruß,
 

w00dcu11er

Benutzer
Sehr erfahren
Mitglied seit
16. Sep 2022
Beiträge
882
Punkte für Reaktionen
310
Punkte
89
Geht eh mit Hyper Backup. Gemappte / gemounte Ordner mitsichern und die Portainer/Stacks etc. via Aufgabenplaner sichern geht auch. Dazu gibts etliche Tutorien hier im Forum. Kannst die Suchfunktion hier verwenden :)
 
  • Like
Reaktionen: unsicher und Tuxnet

Dog6574

Benutzer
Mitglied seit
15. Sep 2014
Beiträge
181
Punkte für Reaktionen
1
Punkte
18
Die gemappten Ordner werden immer gesichert. Wie ich die Stacks via Aufgabenplaner sichern soll versteh ich leider noch nicht
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat