Ext. Pfade für Paperless Dokumente, Volltext, Original einrichten

Hallo Com,

ich bin auf Paperless gestoßen und würde mir das gern mal anschauen. Jetzt weiß ich nicht, kann ich erst mal mit dem Install Script das ganze auf meinem Docker installieren lassen und später die Pfade managen für die Dokumente, oder sollte man das schon während der Installation mit machen. Da werden ja ein paar Ordner abgefragt.

Ich weiß nicht ob das ein Problem ist, der Speicherplatz für die gescannten Dokumente und dann die Volltextsuche liegen auf einem anderen System. Das heißt ich müsste die ja irgendwie verknüpfen, geht das ? Im Endeffekt soll er alle Dokumente nicht im Docker System ablegen sondern auf einem Netzwerkshare von einem anderen System.

Oder ist das schlecht ?

Grüße Deltoro

Hi,

Die Dokumente und Datenbanken müssen außerhalb vom Docker gespeichert werden, sonst sind deine Daten bei jedem Docker Image Update verloren!

Ja, die Ordner bzw Laufwerke müssen bereits bei der Installation vorhanden sein.
Man kann aber die Laufwerke, wo die Datenbanken und Dokumente liegen im nachhinein ändern.
Dazu einfach die Container stoppen, die Volume Pfade in der docker-compose. yaml ändern und die Container neu starten.

Wie performant diese Konstellation dann ist musst du testen, auf dem System wo Paperless läuft solltest du schon genügend CPU und RAM am Start haben.
Das Laufwerk wo die Daten liegen sollte regelmäßig gesichert werden, wenn du Paperless produktiv nutzen willst und nicht nur als Testumgebung laufen hast.

VG

Könntest du mir helfen, wie ich die Pfade anlege und vor allem wie ich meine CIFS Freigabe von System A in den Container bringe, damit ich alles extern auf nem anderen System speichern kann, damit nichts im Docker Container liegt und verloren geht.

Die Netzwerkfreigabe ist angelegt auf Linux. Ich komme da von Windows drauf. Jetzt müsste ich das irgendwie in den Docker Container bringen, geht das mit Portainer, hab gesehen das kann man darin anlegen, also ein Volumen und dann CIFS auswählen. Danach müsste ich das dann in die yaml packen und bind mounten richtig ?

Was brauch ich denn alles ? Legt Paperless selber Unterordner an, für z.b. verschiedene Versicherungen, Rechnungen usw ? Oder muss man das alles vorher machen. Oder reicht ein Hauptverzeichnis für gescannte Dokumente und es werden Unterordner angelegt?

Dann brauche ich einen Ordner indem er nach gescannten Dokumenten schaut, einen wo die originale hin kopiert werden und eben einen wo die Volltextsuche landet ?

Dann brauche ich noch einen für die Config und die DB richtig ? Noch was vergessen ?

Hi,

Ja mit Portainer kann man env’s oder Volumes anlegen, würde ich aber nicht manchen!

Hast du schon eine docker.compose.yaml? Dort würde ich ALLE Informationen reinpacken die man für die Installation und spätere Optimierung benötigt, dann muss man bei Änderungen nicht lange suchen wo man die Änderungen eintragen muss.

Die Einträge bei Volumes sagen Paperless wo die Daten gespeichert sind, alles vor dem "Doppelpunkt ist der Pfad auf dem anderen Server oder Laufwerk
Beispiel
image

Du brauchst mindestens 3 Ordner, für die Datenbank, für die verarbeiteten Dokumente und für den Consume Ordner wo man die Dokumente ablegt die man verarbeiten soll.

Der „Export“ Ordner ist optional, falls du deine Dokumente und Einstellungen mal exportieren willst, ebenso der „trash“ Ordner, das ist der Mülleimer von Paperless.
Kann man gleich mit anlegen, schadet nicht!

Paperless legt auch Unterordner für die importierten Dokumente an, dazu musst du die Speicherpfade anlegen, die kann man auch automatisch vergeben lassen.
Beispiel:
image

Ich versuche mal mein Glück, ich denke aber ich werde scheitern. Mit Linux komm ich so einigermaßen klar und bekomme das installiert und eingerichtet was ich brauche. Mit dem Docker ist noch mal ne andere Nummer. Wenn ich das in Portainer mache, ist das dann wieder weg ? Wenn ich Paperless update ? Oder holt er sich das dann aus der Config die woanders liegt ? Update von Paperless könnte ich doch auch über Portainer machen oder, einfach den Container edit / duplizieren und er holt das neuste Image ? Oder mache ich das indem ich den Container schließe und einfach die yml ausführe ? Ich mein ich habe eine yml aber die ändere ich immer damit ich damit einen Container online bekomme. Oder hat hier jeder Container theoretisch seine eigene ?

Also das ist mein Pfad

\\192.168.xxx.xxx\Storage4\Paperless_Dokumente

unter dem ich von Windows auf zugreifen kann. Es ist eine CIFS Freigabe unter Linux.

image

wie müsste ich das denn nun in die yml schreiben ?

so ?

…_./192.168.xxx.xxx/Storage4/Paperlessngx/data:usr/src/paperless/data:rw

Wie sieht das für all die anderen Tools aus, die Paper noch braucht ? Das kann ich so auf dem Container lassen ?

image

Was davon ist den Paperless direkt ? Gotenberg ?

Du kannst die Container auch mit Portainer anlegen, dann wird der Inhalt der docker-compose als „Stack“ angelegt.
Die Änderungen werden dann im Stack eingetragen und der Container wird neu gestartet.

In einem Stack bzw dockercompose.yaml kann man auch mehrere Container starten, ist bei Paperless so üblich weil du ja zusätzlich zum Programm auch noch die Datenbank brauchst oder Gotenberg und Tika für die Verarbeitung der Dokumente.
Schau mal bei mariushosting vorbei, der erklärt wirklich gut wie man Container mit Portainer anlegt und wie das mit dem Stack funktioniert

Updates mach ich meistens über Portainer, macht man dann über die Funktion Recreate.

image

image

Mit Portainer sieht man auch sehrt schön welche Images nicht mehr benötigt werden, die kann man dann filtern, markieren löschen.

image

Das Programm Paperless ist „webserver“ , kannst du in der yaml auch umbenennen.

ja genau, wenn die Pfade nicht erreichbar sind kommt ne Fehlermeldung wenn du Paperless per Stack installierst.

Ich glaube ich hab seine Anleitung gefunden, install Papeless with office feature on portainer. Ich versuch das mal mit dem Stack. Das wäre für mich wohl ein wenig einfacher mit Portainer und mit dem Recreate, geht aber nur wenn man das einmal über Stack eingerichtet hat ?

Ich hatte Paperless jetzt erst mal mit dem Install Script erstellt. Also nicht über Stack.
Wenn ich jetzt den Container bearbeite unter Volume die Pfade anpasse, die ich in Paperless unter Volume angelegt habe und deploy klicke, müsste er die Pfade ändern oder ?

Aber diese Netzwerkordner kann ich schon so über Portainer → Volume anlegen ? Ich muss ja noch die Anmeldedaten mit übergeben. Ka wie ich das in der yml machen sollte. Dieses angelegte Volume kann ich dann in die Stack mit reinpacken ?

Was müsste ich nun vor den Doppelpunkt setzten ?

Für die anderen Tools, lass ich die Pfade so ?

Ich setze mal das System zurück und versuch es nun mal über die Anleitung.

Hier gibt es schon ein Stack, denke das kommt vom Install Script oder ?

Könnte ich das nicht öffnen hier die einzelnen Container anpassen z.b. Paperless die Pfade ändern und fertig ?

Der Stack ist eigentlich kein richtiger Stack der mit Portianer erstellt wurde, das ist die yaml Datei wo die Container angelegt hat.

image

Du kannst natürlich die Container auch ausserhalb von Portainer anpassen, wenn du den Stack neu startest dann werden halt die Volumes, Einstellungen, Env’s wieder überschrieben!
Wenn du dich für Portainer entscheidest würde ich dort auch ALLE Einstellungen im Stack vornehmen.

Portainer erstellt dir auch eine docker-compose, die findest du dann im im Docker Verzeichnis Portainer\compose. Wenn du die Datei sicherst kannst du die Container immer wieder mit gleiche Einstellungen erstellen.

So hab mal die Volumen in Portainer angelegt.

In die yml bzw. in den WebEditor (Stack) reicht dann
/volumes/paperless_redis_samba/_data
oder muss das /var/lib usw davor ?

Schaut bei mir in Portainer so aus

Wie das mit Linux läuft, kA, da bin ich raus.

Hm muss ich mal schauen wie es in den anderen steht.

Hab mal die Lines aus dem Tut kopiert und angepasst. Nach deploy kommt irgendwann folgendes.

Failed to deploy a stack: compose up operation failed: dependency failed to start: container PaperlessNGX-DB is unhealthy

Fehler in der Datenbank!
Schreib und leserechte sind vorhanden?

Gute Frage, Schreib und Leserechte für die externen Ordner ? Oder die Ordner im Container ?

Immer die externen Ordner

Hm ich hab ja die ext. Order durch Volumes erstellt, dort User und PW mit angegeben. Stimmen die nicht ? Oder eher die Rechte im Ordner selber ? Das der User vom Docker / Container das nicht kann ?

Schau mal ins Log der Datenbank ob da was drin steht das dir weiter hilft

Laut meinem Unwissen, startet er nicht mal irgendwas ? Wo soll die Log denn liegen ? Hab den Ordnern auf dem Share jetzt mal 777 gegeben, also daran sollte es nicht liegen.

Weiß ja nicht wenn ich die Volume anlege und er kommt da nicht auf den Share, wegen falschen Anmeldedaten, sollte da nicht ein Fehler kommen oder macht er das erst mal ?