Paperless-NGX Installationsanleitung in der Container Station

  • .. vi nicht auf Anhieb bedienen konnte war bei mir nur eine kleine Herausforderung das ich 3 x CACHEDEVX_DATA habe und der Ordner "Container" auf der 2 und der Paperless-Docs nun auf der 1 liegt.

    Hallo!

    Ja, VI ist eine herausforderung. Über Nano geht das deutlicher einfacher. Nano kann über das Repo von myqnap.org installiert werden: https://www.myqnap.org/install-the-repo/

    MIr ist bewusst, dass es auch User mit mehreren CACHEDEVX_DATA Ordner gibt. Ich wollte diese Anleitung aber einfach und verständlich halten, vor allem für Einsteiger. Da würde ich aus meiner Erfahrung sagen, dass die meisten Nutzer nur einen "CACHEDEV" Ordner haben. Vielleicht irre ich mich da, kann ich nicht sagen.

    Es steht Dir frei, meine Anleitung zu ergänzen und einen neuen Post mit entsprechenden Änderungen zu erstellen. Ich für meinen Teil kann leider keinen Support für eine andere Lösung als oben in meiner Anleitung beschrieben, geben.


    ich gehe davon aus, dass Deine Installation noch recht frisch ist (im Zweifelsfall einen Export machen) und die ursprüngliche Installation incl. der Ordner entfernen.
    Danach in die für Dein System passenden Ordner neu installieren. Der Aufwand ist recht gering. Natürlich müssen die Pfade in der Datei "docker-compose-yml" entsprechend auf CACHEDEVX_DATA deines Systems umgestellt werden.


    Gruß


    Vore

  • Hab alles auf die SSDs umgezogen was nicht ganz so einfach aber machbar ist. Den Export wieder einstellen hat nicht geklappt aber das war nicht schlimm da im Export ja auch alle Dokumente enthalten sind habe ich diese über den Inbox Ordner wieder eingespielt.


    Edit: Ich werde nun Paperless-NGX ein drittes mal sauber installieren ;) da ich erst nach dem Studium deiner empfohlenen Links zum "paperless blog" so richtig die Logik hinter den verschiedenen Ordner verstanden habe und media und data nun nicht mehr auf den SSDs (die werden ja immer großer und müssen nicht "schnell" sein) haben will den Container und die db aber schon. Ich denke das ist mit einer Anpassung der docker-compose.yml kein Problem.


    Was ich mich aber noch immer Frage ist wie ich am besten mit dem "Titel" der Dokumente arbeite. Im Blog steht ja lediglich "Title: Der Titel des Dokuments. Dieser wird aus dem Dateinamen des Dokuments übernommen." Somit stände hier ja immer irgend ein Käse wie z.b. bei PDFs die ich gemailt bekomme immer "Rechnung" in 200 unterschiedlichen Dokumenten und bei gescannten Sachen immer was wie "doc00512520240108123458". So macht das Feld doch 0 Sinn... Wie nutzt ihr "Titel"?

    Einmal editiert, zuletzt von LoboNr1 ()

  • macht das Feld doch 0 Sinn... Wie nutzt ihr "Titel"?

    Hi! Also bisher habe ich den Titel immer "von Hand" vergeben. Der Titel z.B. aus dem Dokumentenscanner hat bei mir nie viel Sinn gemacht.

    Allerdings scheint es in der neuen Version 2.3.0 (aktuell schon 2.3.2) eine neue Funktion namens "Workflow" zu geben, die auch automtisch Vorschläge für den Titel machen soll. Habe es aber noch nicht probiert. Infos gibt es hier: https://docs.paperless-ngx.com/usage/#workflows


    Gruß

    Vore

  • Welche Infos hast du im Titel hinterlegt (manuel)?


    Edit: Erledigt. Hab meinen Weg gefunden hier mit Schlagwörtern zu arbeiten.

    Einmal editiert, zuletzt von LoboNr1 ()

  • Hi vore76,


    eine super Anleitung! Danke dafür, habs zum Laufen bekommen - eine tolle Anwendung ist das!

    Hier noch ein paar Tips und Anmerkungen zur Optimierung:


    In Schritt 1, Pkt. 2 kann man nicht nur drei Mal das gleiche Kennwort vergeben, man muss es sogar, da man im Abschnitt "db" das Datenbank Kennwort des Datenbank-Containers festlegt und in den anderen Abschnitten dem paperless- und dem paperless-db-backup-Container eben dieses mitteilt. Mit unterschiedlichen Kennwörtern gibts keine saubere Verbindung.


    Der Schritt 5 kann entfallen, in dem die folgenden Parameter/Zeilen der docker-compose Datei hinzugefügt werden:

    Code: docker-compose.yml
          PAPERLESS_ADMIN_USER: admin
          PAPERLESS_ADMIN_PASSWORD: HIER_EIN_ADMIN_KENNWORT_VERGEBEN
          PAPERLESS_ADMIN_MAIL: root@localhost

    Desweiteren würde ich empfehlen, den folgenden Parameter ebenfall einzusetzen und mit einer wahllosen Buchstaben-Kombo zu belegen, weil sonst das Paperless Standard-Secret verwendet wird, mit dem jeder Angreifer sich ein gültiges Session-Cookie erzeugen kann. Auch wenn die meisten Installationen hier sicherlich nicht online erreichbar sind, traue ich auch nicht jedem Device im Heimnetz.

    Code: docker-compose.yml
    PAPERLESS_SECRET_KEY: asdfpuehfpiebfpeiucib

    Im PAPERLESS_FILENAME_FORMAT fehlt für meinen Geschmack noch das Token {correspondent}, aber das ist sicher Geschmackssache.


    Tatsächlich fehlt in der Anleitung nach meinem Verständnis noch der Schritt, ganz klassisch auf dem NAS das Share "Paperless-Docs" anzulegen, weil man die Daten sonst gar nicht in den persistenten Bereich außerhalb des Containers bekommt. Wenn dieses Share vollständig gesichert wird, sollte mit einem frischen Container-Stack das Backup auch ratz fatz wieder eingespielt sein im Falle eines Falles.


    Eine letzte Anmerkung: Für User, die ein verschlüsseltes Volume einsetzen, müssen alle Pfade von CACHEDEV1_DATA geändert werden auf CE_CACHEDEV1_DATA (bzw. analog für weitere Volumes).

    Ein allerletzter (vielleicht für viele auch offensichtlicher) Hinweis: Nach deiner Anleitung installiert, nutzt man die App im Heimnetz anschließend via HTTP, was einerseits unsicher ist (Glaubensfrage - ist mein chinesisches Smart Home Zubehör vertrauenswürdig?) und zum anderen in einigen Browsern lästige Warnungen verursacht. SSL wird in Paperless so nicht unterstützt, man empfiehlt einen Reverse-Proxy dafür zu schalten für diesen Zweck, aber das lassen wir mal für einen anderen Tag...

  • Mit unterschiedlichen Kennwörtern gibts keine saubere Verbindung.

    Ok, das werde ich noch reinschreiben.


    Der Schritt 5 kann entfallen, in dem die folgenden Parameter/Zeilen der docker-compose Datei hinzugefügt werden:

    Und das hatte leider bei mir damals nicht funkioniert. Daher bin ich den Weg in meiner Anleitung gegangen. Ist die Frage warum nicht.. ich kann es nicht sagen.

    Vielleicht kann das jemand bei einer Neuinstallation mal versuchen? Würde zumindest diesen Teil über SSH überflüssig machen.


    Desweiteren würde ich empfehlen, den folgenden Parameter ebenfall einzusetzen und mit einer wahllosen Buchstaben-Kombo zu belegen, weil sonst das Paperless Standard-Secret verwendet wird

    Ok, guter Hinweis. Werde ich ergänzen.


    Tatsächlich fehlt in der Anleitung nach meinem Verständnis noch der Schritt, ganz klassisch auf dem NAS das Share "Paperless-Docs" anzulegen,

    Ok, das passierte bei mir automatisch während der Installation. Ich hatte die Ordner defintiv nicht angelegt, nach der Installation waren die da. Denke daher, dass die Container-Station das automatisch erledigt.


    müssen alle Pfade von CACHEDEV1_DATA geändert werden auf CE_CACHEDEV1_DATA

    Ok, ich nutze das nicht. Ich kann mit der Anleitung hier aber auch nicht jeden Fall abfangen. Daher steht auch ganz oben:

    Diese Anleitung installiert den Datenordner für Paperless unter /share/CACHEDEV1_DATA.

    Es ist eben immer noch eine gewisse Erfahrung mit der QNAP und QTS nötig. Vielleicht gibt es Paperless irgendwann mal im QNAP Store, dann es es auch für weniger erfahrere User nutzbar.


    Grüße


    VoRe



    EDIT: Hier die geänderte docker-compose mit den Änderungen von modmatt


    Gruß


    Vore

  • Hi,


    ich erhalte in der Container Station beim erstellen der Anwendung eine Fehlermeldung.


    Ich habe bereits 3 Versuche gestartet und bekomme immer die gleiche Fehlermeldung von Container Station. Mal direkt zu beginn beim Download oder bei 99%


    In der docker-compose.yml habe ich nur die PW eingetragen.


    Ich muss dazu sagen das es für mich absolutes Neuland ist im Bereich Container Station und Docker und ich meine QNAP TS-231P bisher nur zur Sicherung von PC Backups und Handy Backup (Foto, Video) genutzt habe.


    Liegt der Fehler an den Einstellungen der QNAP selbst oder muss ich in Container Station noch Einstellungen vornehmen (bspw. Container erstellen?)

    Code
    2024-01-13 04:34:39,ERROR,Applications,admin," Failed to create application ""docker-compose"". Error message: operateApp action [--project-name docker-compose up -d --remove-orphans] failed: exit status 18: webserver Pulling                                                                     

    Viele Grüße

    pogo

  • Container Station und Docker und ich meine QNAP TS-231P bisher nur zur Sicherung von PC Backups und Handy Backup (Foto, Video) genutzt habe.

    Hallo! Leider sagt mir die Meldung jetzt nichts.. vielleicht ein generelles Problem mit dem NAS? So wie ich das sehe, hat Dein NAS "nur" 1GB Ram und auch einen 32-Bit ARM Prozessor. Ich bin nicht sicher, in wie weit das vielleicht ein Problem darstellt. Mein NAS hat einen Intel Celeron 64Bit Prozessor.

    Vielleicht hat hier jemand noch eine Idee.

    Einmal editiert, zuletzt von vore76 ()

  • Hallo,


    erst einmal ganz herzlichen Dank für die tolle Anleitung! Ich hatte das Thema schon länger mal im Auge, konnte mich aber nie so richtig motivieren, das auf dem QNAP umzusetzen.


    Mit Deiner Anleitung hat alles super geklappt. Das Einzige, was noch nicht funktioniert, ist der Import von *.eml-Dateien. Dort kommt immer die Fehlermeldung


    Code
    [2024-01-14 15:22:14,872] [DEBUG] [paperless.consumer] Detected mime type: text/html
    
    [2024-01-14 15:22:14,878] [ERROR] [paperless.consumer] Unsupported mime type text/html

    Was muss ich in der yml-Datei einstellen, dass Paperless auch Maildateien verarbeiten kann?


    Vielen Dank für Eure Hilfe!

  • Hallo zusammen.


    Danke für die Anleitung!


    Ich verwende Paperless seit letztem Sommer und bin mittlerweile auf ein Problem gestossen, da immer mehr Absender digital signierte PDFs verwenden. Fehlermeldung bei consume-Versuch: "DigitalSignatureError: Input PDF has a digital signature. OCR would alter the document, invalidating the signature." Da es ja nur für meine Ablage ist, ist es mir eigentlich egal, was mit der Signatur passiert, resp. dass das signierte pdf durch das OCR verändert wird.


    Gemäss diesem Beitrag auf github würde folgende Konfigurationsanpassung das Problem umgehen:

    Code
    PAPERLESS_OCR_USER_ARGS={"invalidate_digital_signatures": true}

    Leider weiss ich nicht, wo das Paperless Configuration File abgelegt ist. Ich kann es weder unter /share/Container/container-station-data/application/Paperless oder in der Docker Instanz finden (nur ein config.py, aber ich glaube nicht, dass es das Richtige ist?)


    Nach weiterem Lesen habe ich auf der Paperless Webseite den Hinweis gesehen, dass ich ein docker-compose.env file verwenden soll, wenn es unter Docker läuft. So habe ich also dieses File erstellt und unter

    /share/Container/container-station-data/application/Paperless abgelegt, Paperless neu gestartet, hat aber nicht geholfen.


    Daher lautet meine Frage, ob im .env noch weitere Initiale Parameter hinzuzufügen sind und/oder dieses oder ein anderes config file zu verwenden ist und wo ich es ablegen soll? Die Antwort ist natürlich auch noch interessant, wenn es darum geht, andere Variablen im config file zu setzen :)


    Danke für Eure Unterstützung!


    Liebe Grüsse aus der Schweiz!

  • Daher lautet meine Frage, ob im .env noch weitere Initiale Parameter hinzuzufügen sind und/oder dieses oder ein anderes config file zu verwenden ist und wo ich es ablegen soll? Die Antwort ist natürlich auch noch interessant, wenn es darum geht, andere Variablen im config file zu setzen :)

    Hallo!

    Ich würde sagen, dass der Eintrag PAPERLESS_OCR_USER_ARGS in die Docker-Compose rein muss. Die findest Du unter /share/Container/container-station-data/application/Paperless/docker-compose.yml.

    Danach musst Du natürlich Paperless mit "Pull" und "UP" neu durchlaufen lassen. "Down" sollte in diesem Fall nicht erfoderlich sein.

    Ich habe einen Screenshot von einer Beispieldatei angehängt.



    Paperless_Beispiel.png






    Mit Deiner Anleitung hat alles super geklappt. Das Einzige, was noch nicht funktioniert, ist der Import von *.eml-Dateien. Dort kommt immer die Fehlermeldung

    Sorry, da muss ich passen. Konnte auch nicht wirklich was im Netz finden. Paperless kann das wohl nicht selbst, muss über Tika laufen (wenn ich es korrekt verstanden habe). Vielleicht mal hier fragen: https://github.com/paperless-ngx/paperless-ngx/discussions

    4 Mal editiert, zuletzt von vore76 () aus folgendem Grund: Ein Beitrag von vore76 mit diesem Beitrag zusammengefügt.

  • Hallo Zusammen,

    erstmal danke an den Ersteller der die Anleitung verfasst hat, ich bin sagen wir mal nicht neu was Konfigurationen oder sowas an geht aber hier stoße ich auf eine Unbekannte Grenze, irgendwie will das alles nicht so wie es sollte bzw. ich begreife noch immer nicht den Sinn der Docking Station in der aktuellen Version von Qnap 3.0.5.623 alles was ich im Internet finde bezieht sich auf frühere Version für das Grundkenntnis der Container Station. In der aktuellen komme ich nicht auf einen gerade Zweig, deshalb die Frage an die Profis: hätte jemand mal Zeit mir das zu erklären wie ich z.b. das paperless zum laufen bekommen, wahrscheinlich habe ich einen schritt der mir nicht bekannt ist oder ich habe das ganze nicht wirklich verstanden. Microsoft Teams wäre vorhanden. falls sich wer bereit erklären könnte.

    würde ich mich freuen.

    Vielen Dank schon mal an die das gelesen haben

    mfg

    Frosch007

  • Moin! Danke für die Anleitung.


    Leider hatte ich sie zu schnell gelesen und habe in der docker-compose.yml-Datei nur ein Passwort geändert. Das hat zur Folge nicht alle Container laufen; ausgerechnet paperless bricht nach einer Sekunde wieder ab: Fehlermeldung:

    Code
    django.db.utils.OperationalError: connection to server at "db" (172.29.0.6), port 5432 failed: FATAL:  password authentication failed for user "paperless"


    Selber schuld, aber wie ändere ich das? Ich habe keine Möglichkeit gefunden die Container für eine neue Installation zu löschen. Dieser Punkt ist ausgegraut; auch nach „stop“. Unter „Applications“ steht die Option „remove“ für paperless-ngx zwar zur Verfügung, aber die App wird trotzdem nicht entfernt. :(


    Hat jemand den rettenden Tipp?


    Martin


    Solved

    Ich konnte die Fehlinstallation nun doch löschen. In der GUI der Container Station konnte ich die Images erst löschen, nachdem ich die Docker-Container in der Konsole gelöscht hatte (docker rm paperless ...). Benutzte Anleitung bei IONOS: https://www.ionos.de/digitalgu…ocker-container-loeschen/


    Final

    Jetzt hat die Installation geklappt! Herzlich lieben Dank für die nützliche Anleitung! Dank auch an vore76 für den sehr nützlichen Hinweis, wie man weitere Programme und Hilfen installieren kann. Z.B. den Midnight Commander.


    Als Tipp für alle Consolen-Fans, die mit Windows arbeiten: „Moba X-Term“ ist in meinen Augen ein Quantensprung nach Putty.

    2 Mal editiert, zuletzt von Martin Lemke () aus folgendem Grund: Konnte Problem selber lösen

  • Selber schuld, aber wie ändere ich das? Ich habe keine Möglichkeit gefunden die Container für eine neue Installation zu löschen. Dieser Punkt ist ausgegraut; auch nach „stop“. Unter „Applications“ steht die Option „remove“ für paperless-ngx zwar zur Verfügung

    Hallo!

    Auch wenn es Dir jetzt erst mal nicht mehr hilft, es geht recht einfach.


    1. Änderungen der der docker-compose.yml vornehmen.
    2. Die geänderte docker-compose.yml an die Stelle der alten kopieren (überschreiben).
    3. Die Container stoppen mit docker compose down
    4. Die Container updaten mit docker compose pull
    5. Und alles wieder starten mit docker compose up -d

    Und dann läuft alles mit den neuen Einstellungen.


    Gruß


    Volker

  • Mod: Unnötiges Volltextzitat gekürzt! :handbuch::arrow: Forenregeln beachten und Die Zitat Funktion des Forums richtig nutzen

    So wie ich das sehe, hat Dein NAS "nur" 1GB Ram und auch einen 32-Bit ARM Prozessor.

    Hallo,

    ich habe nochmals ein wenig recherchiert und du lagst genau richtig!

    Die 32-Bit ARMv7 Prozessoren werden seit dem Release von paperless-ngx 2.0 nicht mehr unterstützt: Dropping 32-bit ARM Support und daher kommt die Fehlermeldung.


    Die Lösung:

    Ich habe in der docker-compose.yml das image mit dem image aus dem Release 1.17.0 ersetzt.

    Bis auf der paperless-tika Container starteten dann auch alle Container, wie in deiner Anleitung beschrieben.

    Also wieder auf Fehlersuche gegangen und schnell fündig geworden. Der Fehler "exec format error" aus dem Protokoll deutet wieder auf eine nicht kompatible Version mit dem 32-Bit Armv7 Prozessor hin.

    Auch hier müsste das image aus der docker-compose.yml gegen ein kompatibles getauscht werden.


    Wenn ich nicht völlig falsch liege, dient der tika-server in erster Linie Meta-Daten aus Microsoft Dateiformaten auszulesen? (sehr vereinfacht ausgedrückt)

    Da dies aktuell für mich nicht relevant ist um paperless-ngx zu nutzen und es so jetzt erst einmal läuft, werde ich das später nochmal in Angriff nehmen.

  • Hallo zusammen,

    pogo dein Eintrag hat mir gerade einiges erklärt wenn du mich meinst :) und vore76 falls du auch mich meinst und mich zitiert hast, danke ob wohl ich das Zitat oder die Antwort nicht lesen kann bzw. wird mir nicht angezeigt hier im Forum.


    sehe das gerade nur durch pogo`s Eintrag und das ändern auf die Version 1.17.0 bei meiner NAS hat geholfen :)



    mfg

    Frosch007

  • Hallo zusammen,

    ich bins mal wieder :-(, habe jetzt Paperless-ngx 2.4.0 am laufen ich habe schon alles gefunden wie ich die Dateienamen und Ordnerstrukturen so anlegen kann wie ich will, jetzt habe ich aber das problem wie ich auf der qnap die docker-compose.env finden kann damit ich die Einstellungen so anpassen kann wie ich gerne möchte.


    könnte mir wer helfen Bitte


    Danke


    mfg

    Stephan

  • die docker-compose.env finden kann

    Das ist die Datei docker-compose.yml und die findest Du unter: /share/Container/container-station-data/application/Paperless/