Rettung der postgreSQ Datenbank von paperless-ngx

realRSN

Benutzer
Mitglied seit
24. Apr 2024
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,
ich nutze paperless-ngx im Container Manager auf meiner DS224+. Das läuft mit den Containern postgresq und redis auch super und ich habe viele Dokumente angelegt. Gesichert wird wie folgt:

- Hyper Backup des Gesamtsystems auf ein anderes Synology NAS
- Snapshots des Ordners paperless wo alle Medien und Config etc. drin liegen.
- Die Container habe ich im Container Manager exportiert und auf einer SSD abgelegt.

Jetzt habe ich ein Update aller drei Container (paperless-ngx, postgresq und redis) vorgenommen. Und dabei wohl die was falsch gemacht. Auf jedenfalls lief paperless danach zwar wieder, aber es waren keine Daten in der Application. Darauf habe ich versucht wieder auf den Stand vor dem Update zu kommen und habe die exportierten Container wieder eingespielt. Jetzt ist zumindest paperless auch wieder auf der alten Version (bei den andeuren weiß ich nicht wo ich das sehe) aber immer noch keine Daten da. Ich habe auch die Container beendet, einen vorherigen Snapshot des paperless Ordners eingespielt und wieder gestartet. Half leider nichts.

Das Thema Datenbank Dump kannte ich bis zu meinem Problem leider nicht und habe in der Art damit leider auch nichts. Werde ich in Zukunft mit wohl anschauen müssen.

Jetzt wollte ich zur ultimativen Waffe greifen und das gesamte NAS einfach wieder in den Zustand vom Vortag zurückspielen aus dem Hyper Backup. Dies wird mir aber nun verweigert, weil es unveränderliche Snapshots auf der DS gibt. Wieder was gelernt. Ich habe nun eingestellt, dass keine unveränderlichen Snapshots mehr erstellt werden, muss aber jetzt wohl sieben Tage warten bis die jetzigen abgelaufen sind, bevor ich das System zurück setzen kann. Auch nicht so toll.

Jetzt meine drei Fragen:

1. Seht ihr noch einen anderen Weg als das System zurückzusetzen, welchen ich versuchen kann?
2. Wenn ich in einer Woche das System wiederherstelle, wird paperless dann wieder mit allen Daten laufen, oder besteht das Risiko, dass bei dem wiederherstellen eben genau die Datenbank auch nicht wieder hergestellt wird, weil sie in Docker läuft oder so?
3. Wie soll ich zukünftig im Container Manager meine Daten sichern um einfach bei einem Crash den Container zurücksetzen zu können?

Ich würde ungern die nächsten Tage damit verbringen wieder alle Dokumente erneut zu klassifizieren und das Risiko zu haben, dass mir das wieder passiert. Aber ich will jetzt auch nicht eine Woche warten, das NAS nicht nutzen, um es dann stungenlang zurück zu setzen und festzustellen, dass das gar nichts gebracht hat. Dann fange ich lieber heute an zu klassifizieren.

Gruß und Danke euch

Stephan
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Man müsste wissen WIE genau du Paperless eingerichtet hast. Wie die Mounts aussehen usw....
 

realRSN

Benutzer
Mitglied seit
24. Apr 2024
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Ich habe es genau nach dieser Anleitung gemacht:

https://www.youtube.com/watch?v=5iU3UV0tU0c

Wenn Du noch mehr Infos brauchst, kann ich gerne Screenshots machen oder Logs posten, müssten nur wissen was genau.

Anbei noch das Log von Paperless nach dem Start.
 

Anhänge

  • paperlessngx-paperless-ngx-1.pdf
    125,2 KB · Aufrufe: 7
Zuletzt bearbeitet:

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Sorry, aber ich habe keine Lust und Zeit mir ein Video anzugucken, damit ich weiß was du ungefähr gemacht hast.
Poste mal Screenshots von den Container Einstellungen. Gerade die von der DB.
 

realRSN

Benutzer
Mitglied seit
24. Apr 2024
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Alles klar. Anbei die Screenshots aus dem Container Manager. Hoffe das hilft. Gruß und Danke Stephan
 

Anhänge

  • IMG_4312.jpg
    IMG_4312.jpg
    203,8 KB · Aufrufe: 21
  • IMG_4313.jpg
    IMG_4313.jpg
    280,5 KB · Aufrufe: 21
  • IMG_4314.jpg
    IMG_4314.jpg
    129,9 KB · Aufrufe: 21

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Welche Ordner hast du bei Postgres gemountet? In Bild zwei gibt es den Abschnitt Volumes. Dies wäre wichtig bei Postgres zu sehen. Wenn das fehlt, dann hast du ein Problem. Dann wurden die Daten nur im Container gehalten und beim Update wird alles gelöscht was im Container ist. Deshalb ist das Mappen der Verzeichnisse wichtig. Ist dies nicht vorhanden, dann sind deine Daten weg. Ob ein kompletter Restore hilft weiß ich nicht. Dafür fehlt mir das Wissen was Hyperbackup genau sichert.
 

realRSN

Benutzer
Mitglied seit
24. Apr 2024
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Bei Postgres sind keine Volumen gemutet. Ich habe dort auch nichts in der File Station, was ich sehen könnte. Dann habe ich wohl ein Problem.

Wenn die Daten aber im Container gespeichert sind: Ich habe ja einen Export und entsprechende Sicherungen von den Containern als sie noch liefen. Wenn ich die allerdings mit der Importfunktion zurück spiele, läuft zwar alles (auch die vorherige Version von paperless) aber eben sind keine Daten da. Komm ich irgendwie noch an die Daten in dem gesicherten Exportierten Container?

Und was soll ich zukünftig machen, dass mir das nicht mehr passiert? Ich habe im Netz gelesen evtl. auf MariaDB statt Postgres zu gehen? Wie seht ihr/Du das?
 

Caramlo

Benutzer
Mitglied seit
11. Mai 2019
Beiträge
224
Punkte für Reaktionen
64
Punkte
34
Das riecht nach einem Versionsupdate der Postgres-Datenbank durch das Update. Hast Du in der Compose Datei den Tag "latest" bei PostgreSQL stehen? Dann wird das wahrscheinlich das Problem sein. Bei einem Versionsupdate von PostgreSQL ist die alte Version der Datenbank nicht mehr kompatibel und muss konvertiert werden. Das geht über einen Dump der Datenbank und Reimport in die neue Version.
Suche mal hier im Forum nach "Problem nach PostgreSQL update", da gibt's einige Threads was zu tun ist.
Wenn man in der Compose den Tag "latest" durch die eingesetzte Version ersetzt (z.B. 15.6) hat man beim Update keine Probleme, da dann kein Versionsupdate bei der Aktualisierung des Containers mehr durchgeführt wird.
Mir war das auf Dauer zu blöde und ich nutze MariaDB auf der Syno.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Die Export/Import Funktion sichert keine Daten. Das sind nur JSON Dateien die beschreiben wie der Container eingerichtet werden soll. Container sind dafür gedacht, dass man sie jederzeit löschen kann und neu machen. Genau das passiert beim Update auch. Daher kannst du das darüber nicht wieder herstellen. Wenn das Tutorial es so einrichtet, dann ist es ein sehr schlechtes und gefährliches Tutorial. Das ist das Blöde, dass jeder für alles ein Tutorial machen darf und sich als Experte sieht.....
Du musst die Daten ebenfalls mounten. Such mal hier im Forum nach einer Anleitung. Da findest du paar.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
@Caramlo Nee das Problem ist hier, dass er die Daten nicht nach außen gemappt hat. Also die Daten sind nur im Container vorhanden. Nach dem Update sind diese Daten logischerweise gelöscht, weil der Container gelöscht wurde. Der PSQL Container wurde falsch eingerichtet. Er hat keine DB Daten mehr....
 
  • Like
Reaktionen: Ronny1978 und Benie

realRSN

Benutzer
Mitglied seit
24. Apr 2024
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Vielen Dank für die schnelle Hilfe, auch wenn das natürlich nicht die Antwort ist, die ich hören wollte ;-)

Aber das heißt es macht auch keinen Sinn die 7 Tage zu warten und dann das Gesamtsystem zurück zu setzen?

Und ich werde zukünftig den Ordner /var/lib/postgresql/data auf bspw. /volume1/docker/postgres mounten und auch in Hype Backup wegsichern? Dann kann ich zukünftig den paperless Ordner und den Postgres Ordner zurück spielen. Korrekt? Und ist das der einzige Ordner?

Da ja auch noch redis läuft, soll ich da auch was sichern?

Achja, mein Container Export hat den Dateityp TXZ und nicht JSON, aber das ändert vermutlich nichts?

Danke euch!

EDIT:

Habe den Ordner /var/lib/postgresql/data nun gemountet. Sehe ihn auch in der File Station, aber auch wenn ich nun testweise Dateien in paperless anlege bleibt der Ordner leer. Also scheine ich doch irgendetwas falsch zu machen.....
 
Zuletzt bearbeitet:

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Redis muss nichts gemountet werden. Die Daten sind nicht so relevant dafür, da es ein Cache ist.
Das mit dem Pfad müsste passen, also wenn du es richtig gemacht hast. Ansonsten auch mal im Log gucken....
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Ja, wenn du den Ordner mountest, kannst du den Inhalt wegsichern. In einem ungünstigen Fall ist die DB nach Rücksicherung aber korrupt. Deshalb legt man i.d.R. per Script nen Dump der Datenbank an.
Nein, Redis ist nur ein Broker. Der schreibt keine relevanten Daten.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Wie gesagt, guck sonst in die Logs. Wahrscheinlich ist es ein Rechteproblem.... Ich würde dir empfehlen eine anständige Anleitung zu suchen und Paperless neu zu installieren. Wer weiß was da noch falsch/gefährlich ist.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Der richtige Pfad wäre /var/lib/postgresql/data
bei dir fehlt das /data
Für eine Anleitung kannst du dich z.B. mal bei mariushosting umschauen
 

realRSN

Benutzer
Mitglied seit
24. Apr 2024
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Bei mir kommt sicherlich unbegründet aber nochmal etwas Hoffnung auf.

1. Ich habe es geschafft den Postgres Ordner zu mounten. Keine Ahnung warum das vorhin nicht ging. Der sieht nun so aus:
Bildschirmfoto 2024-04-24 um 21.14.19.png
2. Wenn ich den postgres Container lösche und neu Importiere sagt das Log, dass der DB Ordner nicht leer ist. Danach wird das aber angepasst. Habe ich eine Chance das zu verhindern und vielleicht doch an die Daten aus der Sicherung zu kommen?Bildschirmfoto 2024-04-24 um 21.12.22.pngBildschirmfoto 2024-04-24 um 21.08.28.png
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Das hängt wahrscheinlich an der Art, wie du den Container aufsetzt. Kannst du mal beschreiben, wie du den neuen Container "installierst"? Am besten hast du ein Docker-Compose File. Wenn nicht, dürften die von dir gesetzten Environment Variables ausreichen, um uns ein grobes Bild zu verschaffen.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Da du das vorher nicht gemountet hast waren die Daten nur im Container. Beim Update wurde dieser Container mit den Daten gelöscht. Wenn Hyper Backup die Container mit sichert, also den echten Zustand und nicht nur dass er neu erstellt wird, dann könnte man die Daten aus dem Ordner eventuell noch kopieren. Aber ich weiß nicht wie Hyper Backup da arbeitet. Auf jeden Fall musst du wissen welche Version von PSQL du verwendet hast, weil wenn du ran kommen solltest, dann brauchst du diese Version. WICHTIG: Wenn du das Backup wieder herstellst, dann mounten nicht den Ordner wie du es eben gemacht hast. Dann sind deine Daten weg.
 

Ronny1978

Benutzer
Sehr erfahren
Mitglied seit
09. Mai 2019
Beiträge
1.866
Punkte für Reaktionen
765
Punkte
128
Ich kann die Videos von Navigio.io auf Youtube empfehlen. Er erklärt sehr ausführlich und für mein Verständnis nicht schlecht. Wiedergabegeschwindigkeit kann man getrost auf 1,25 oder 1,5 stellen ;-)

Was VIELLEICHT helfen könnte, wäre die Datenordner ordentlich zu mounten, die Ursprungsversion der Datenbank zu wählen und die Daten im gemounteten Ordner danach aus dem Backup zu überschreiben. Wäre aber nur ein Versuch!!!
 


 

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