Paperless-ngx Postgress Containter nach Restore keine Daten mehr in PaperlessNGX

Fabi85-

Benutzer
Registriert
04. Nov. 2024
Beiträge
3
Reaktionspunkte
0
Punkte
1
Hi Synology-Freunde,

ja ich hab's verbockt. Ich habe postgres geupdatet, ohne das den Folder /var/lib/postgresql/data external zu mappen. Ich hatte zu diesem Zeitpunkt leider noch zu wenig Erfahrung. ABER vor dem Update habe ich den Postgres Container inkl. Settings exportiert(gesichert). Jedoch, sind die Inhalte nach der Wiederherstellung nicht mehr vorhanden.

#Verlauf:
  1. Update PostgressSQL Container -> (Unbewusster) Versionssprung 16 zu 17.
  2. Daraufhin PaperlessNGX nicht mehr funktionsfähig.
  3. RESTORE: Import des zuvor exportierten Containers (inkl. Settings). Meldung: PostgreSQL Database directory appears to contain a database; Skipping initialization. (Daten also vorhanden?)
  4. -> PaperlessNGX läuft wieder aber zeigt keine Inhalte mehr. Also alle Korrespondenten, Tags etc. fehlen. Dokumente sind nicht mehr vorhanden.
  5. Habe die verknüpfte DB über pgAdmin erreicht und sehe nur leere Tabellen in der DB (mit aktuellem Namen)
#Verdacht:
Es liegt nun ein Berechtigungsunterschied, der den Zugriff auf das Datenverzeichnis im Container verhindern könnte vor. Der PostgreSQL-Benutzer im Container hat die Gruppe postgres (gid=999)**, aber das Verzeichnis /var/lib/postgresql/data ist der Gruppe **users` zugeordnet. Kann das der Grund sein, warum er die bisherigen Daten aus der DB nicht mehr aufruft?

Indiz: Bei der Erstinstallation habe ich die einfachen Config-Daten des Tutorials verwendet:
DB-NAME: paperless, DB-USER: paperless

Etwas später, als alles bereits lief, habe ich aus Sicherheitsgründen den DB User und Passwort geändert (im Container postgres und im container paperlessngx, was funktionierte). Mein DB User heisst mittlerweile: paperless01xyz. Mit diesem kann ich die leere DB auch nach restore über pgAdmin erreichen.
Zusätzlich steht nach Restore im Logfile: "The files belonging to this database system will be owned by user "postgres".
Das steht auch in der Logfile, wenn ich Postgres in einem neuen Container, mit neuer Version installiere, obwohl ich in der Configuration vor dem ersten Start, einen anderen DB User angelegt habe.

Würde es Sinn machen, alle Container zu löschen und dann desn Backup-Container von Postgres zu laden und vor dem Start alles auf den alten db_user paperless db_name paperless nochmals zu versuchen?

Für mich vermengen sich nun zu viele Symptome, deren Hintergründe für mich leider schleierhaft sind. Ich wäre euch sehr dankbar, wenn ihr mir Klarheit verschaffen könntet:

Geht mein Verdacht in die richtige Richtung? Könnte es sein, dass lediglich ein Berechtigungsproblem vorliegt und die Daten nach wie vor im gesicherten exportierten Container vorhanden sind? Ja? Wer kann helfen, oder wer hat eine Checkliste zu Container Berechtigungen in diesem Kontext? Welche Infos kann ich euch bereitstellen, damit für euch mehr Klarheit entsteht?


Vielen herzlichen Dank für eure Zeit und wertvollen Tipps :)

Schöne Grüße
Fabian


Synology DS923+ | Paperless NGX 2.6.x | Postgress 16 + 17 | Redis
 
Zuletzt bearbeitet:
Update: Ich habe erfahren, ich müsste nur die Image Version mit portainer auf postgres:16 stellen.
Ich wäre sehr dankbar, wenn jemand kurz bestätigen könnte, ob ich überhaupt die Daten wiederherstellen kann. Ich habe die Container Postgres16, Redis und paperless vor meiner Aktion exportiert und gesichert... Jetzt beim Restore sind die Daten nicht sichtbar. Weder in Paperlessngx, noch per pgadmin in der DB.
Auch wenn ich das fatalerweise installierte postgres17 image wieder lösche und die version 16 ziehe, bleibt das Ergebnis gleich.

Im Portainer sehe ich keine Möglichkeit eine Image-Version anzupassen.
Soeben suche ich nach einer Anleitung, wie man den Docker Stack im Container Manager re-deployen kann...

Danke
 
Mit deinen Informationen kann ich dir leider so direkt nicht helfen. Ich muss wissen, wie du genau Paperless eingerichtet hast. Also am besten einmal hier deine Einstellungen über den Code-Parameter posten, dass ich drüber schauen kann (Passwörter in der Konfiguration unkenntlich machen). Die Frage, ob du die Daten aus der Datenbank wiederherstellen kannst, hängt beispielsweise davon ab, ob du die Datenbank korrekt auf die Festplatte gemappt hast. Dann sind die Daten noch irgendwo vorhanden. Hast du das nicht gemacht, dann waren sie nur im Datenbank-Container und den hast du dann vermutlich durch das Update und den Weg zurück auf die Version 16 zerstört…

Aber wie gesagt, das müssten wir uns bei deiner Konfiguration erstmal anschauen.
 
Wenn Du Portainer benutzt hast, kannst Du mal Deinen Stack posten damit man sieht, was Du geladen hast und was wie gemapt ist?
 
Hallo zusammen, ich hatte nun eine Session mit Jürgen Barth. Wir mussten feststellen, dass wir so nichts mehr retten konnten. Das Postgres Volume war nicht gemapped und ich habe nun das Vergnügen, das PaperlessNGX wieder von vorne aufzubauen. Zumindest die Original-PDFs sind vorhanden.

Ein kleiner Hack, für alle denen es auch so ergeht: Durch Zufall hatte ich ein Tab mit dem alten Datenstand der Korrespondenten, Tags und Dokumenttypen offen. Diese habe ich ChatGPT diktiert und mir als Liste ausgeben lassen.
Daraufhin kann man sich schöne SQL Befehle bauen, und diese wertvollen Daten wenigstens über die Datenbank einspielen. (PG Admin oder direkt übers terminal)

Z.B. bei der Tabelle 'documents_correspondent':

Code:
INSERT INTO documents_correspondent (name, matching_algorithm, is_insensitive, owner_id, match)
SELECT 'ADAC', 3, TRUE, NULL, 'ADAC'
WHERE NOT EXISTS (SELECT 1 FROM documents_correspondent WHERE name = 'ADAC');
Die '3' definiert den exakten Matchtype des Ausdrucks.

ChatGPT erstellt für ugf. 30 Korrespondenten die Befehle nacheinander.
Vielleicht hilft das dem nächsten, um etwas Zeit zu sparen... es funktioniert auch für die tags und document_types

Und ein weiterer Tipp:
Sofern man noch den alten paperless Ordner hat, findet man unter media/documents/archive die bereits verarbeiteten PDFs (OCR Erkennung, und evtl. den Titel des Dokuments als Dateiname....) -> Da der Dateiname der PDF schon vorhanden ist, tut man sich auch sehr viel leichter. Die neue Paperless-Instanz kann damit auch schon viel Anfangen... das beschleunigt den manuellen restore enorm :-)


Schöne Grüße und danke für eure Rückmeldungen...
 
Zuletzt bearbeitet:
Danke für Deine Rückmeldung hier.
 

Additional post fields

 

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