Hallo zusammen,
ich möchte bei meinem QNAP NAS mir paperless-ngx mittels der Container Station erstellen. Ich habe dazu in einem anderen Forum praktisch den gleichen thread erstellt, aber leider keine Antwort erhalten. Ich habe dort auch gesehen, dass es dazu bereits einen thread gibt und das Aufsetzen und Starten sehr einfach zu sein scheint. Nur ist mir immernoch nicht klar, wie man zu den einzelnen Konfigurationen kommt, insbesondere in Hinblick darauf, dass die Daten bei einem Neuaufsetzen des Doccers oder einem Umzug nicht verloren gehen. Nun zu meiner Bitte: Ich würde euch gerne beschreiben, wie ich vorgehen würde bzw. unklare Punkte notieren, und würde mich über Rückmeldungen und Hinweise freuen, ob ich dies so richtig verstanden habe, etwas falsch mache oder bestimmte Aspekte nicht berücksichtigt habe.
In der Container-Station habe ich nach dem entsprechenden doccer gesucht und mehrere gefunden, da paperlessngx/paperless-ngx nach dem Namen die offizielle Version ist, fällt die Wahl darauf. Nun startet das erste Dialogfeld. Befehl und Einstiegspunkt sind hier leer. Ich hatte unter Container - Hilfestellung für Anfänger mal gefragt, wie man auf die Werte kommt und es hießt, dass diese eigentlich vorgegeben werden. Natürlich gibt es zum Thema doccer auch eine kurze Dokumentation dazu, allerdings wird dort nur von .yml und .env Dateien geschrieben, welche (falls ich es richtig verstanden habe) Konfigurationsdateien darstellen, welche auch bei github zu finden sind. Dort konnte ich aber nichts finden, was ich bei dem Einstiegsdialog hätte eintragen können, weswegen ich zu den erweiterten Einstellungen gehen würde. Falls ich bereits jetzt einem Irrtum unterliege, bitte darauf hinweisen!
Dank des zuvor genannten threads und dem kleinen Hinweis in der Dokumentation:
weiß ich nun, dass ich den super user selbst anlegen muss und der nicht, wie von mir eigentlich erwartet, automatisch angelegt wird. Erst mit diesen beiden Hinweise geriet der Hosting & Security-Teil der Dokumentation in meinen Blick, wo ich herausfinden konnte, dass man mittels
Nun wird aber auch eine Datenbank verwendet und aus Bequemlichkeitsgründen würde ich entgegen der Empfehlung auf die Maria DB von qnap zurückgreifen. Also habe ich den Database-Dokumentationsteil nachgeschaut und mir die folgenden Einträge rausgesucht:
Ich muss somit bei der Datenbank lediglich eine neue Datenbank
Da ich keinen Zugriff von außen plane, es also innerhalb des lokalen Netzwerkes läuft, gehe ich davon aus, dass ich mich mit Zertifikaten nicht auseinandersetzen muss, also Einträge wie
Ich hoffe, dass ich die anderen Einstellungen wie
Hier muss ich die Portweiterleitungen eintragen, damit ich auch über die URL meines qnaps darauf zugreifen kann. Soweit ich es verstanden habe, muss ich zu jedemn freien Port vom Container einen Port vom host (meinem qnap) eintragen, d.h. ich muss zuerst herausbekommen, über welche Ports paperless überhaupt kommuniziert. Ich habe nur herausfinden können, dass er über Port 8000 kommuniziert und sonst keine weiteren Ports gefunden. Ich bin unsicher, ob etwas fehlt, da ich dies nur nebenbei im Fließtext gelesen habe und nicht als Übersicht. Falls ich richtig liege, muss ich nur Port 8000 vom Container auf z.B. Port 17101 weiterleiten. Also ein nahezu willkürlich gewählter Port, der noch nicht belegt ist, oder gibt es hier Regeln, die zu beachten wären?
Eintrag Hostname bleibt leer und Netzwerkmodus bei NAT.
Für mich an dieser Stelle vermutlich uninteressant.
Jetzt wird es spannend. Da ich die Daten bei Container-Fehler/Verlust oder was auch immer nicht verlieren möchte und bei einem Neuaufsetzen nicht mühselig aus den Container exportieren möchte, muss ich dafür sorgen, dass die relevanten Daten außerhalb des Containers gelagert werden. Bei dem Paths-and-folders-Dokumentationsteil bin ich fündig geworden.
Als relevant konnt ich den Eintrag
Nun kann ich aber bei den Eintrag keine Umgebungsvariable eintragen, sonder muss angeben, dass ein bestimmter Ordner im Container auf einen Ordner außerhalb des Containers gemappt werden soll. Wie finde ich die heraus? In der Dokumentation steht bezüglich
Wie komme ich jetzt auf
Unter der Dokumentations zur Administration habe ich folgendes gelesen:
Also muss ich nur die Ordner
Was sind die korrekten Ordner und wie sehen die absoluten Pfade aus? Spätestens an dieser Stelle scheitere ich, da ich nicht weiß, wo ich nachschlagen könnte.
Viele liebe Grüße
Frank
ich möchte bei meinem QNAP NAS mir paperless-ngx mittels der Container Station erstellen. Ich habe dazu in einem anderen Forum praktisch den gleichen thread erstellt, aber leider keine Antwort erhalten. Ich habe dort auch gesehen, dass es dazu bereits einen thread gibt und das Aufsetzen und Starten sehr einfach zu sein scheint. Nur ist mir immernoch nicht klar, wie man zu den einzelnen Konfigurationen kommt, insbesondere in Hinblick darauf, dass die Daten bei einem Neuaufsetzen des Doccers oder einem Umzug nicht verloren gehen. Nun zu meiner Bitte: Ich würde euch gerne beschreiben, wie ich vorgehen würde bzw. unklare Punkte notieren, und würde mich über Rückmeldungen und Hinweise freuen, ob ich dies so richtig verstanden habe, etwas falsch mache oder bestimmte Aspekte nicht berücksichtigt habe.
Doccer einrichten
Erstes Dialogfeld
In der Container-Station habe ich nach dem entsprechenden doccer gesucht und mehrere gefunden, da paperlessngx/paperless-ngx nach dem Namen die offizielle Version ist, fällt die Wahl darauf. Nun startet das erste Dialogfeld. Befehl und Einstiegspunkt sind hier leer. Ich hatte unter Container - Hilfestellung für Anfänger mal gefragt, wie man auf die Werte kommt und es hießt, dass diese eigentlich vorgegeben werden. Natürlich gibt es zum Thema doccer auch eine kurze Dokumentation dazu, allerdings wird dort nur von .yml und .env Dateien geschrieben, welche (falls ich es richtig verstanden habe) Konfigurationsdateien darstellen, welche auch bei github zu finden sind. Dort konnte ich aber nichts finden, was ich bei dem Einstiegsdialog hätte eintragen können, weswegen ich zu den erweiterten Einstellungen gehen würde. Falls ich bereits jetzt einem Irrtum unterliege, bitte darauf hinweisen!
Erweiterte Einstellungen
Umgebung
Dank des zuvor genannten threads und dem kleinen Hinweis in der Dokumentation:
To be able to login, you will need a super user.
weiß ich nun, dass ich den super user selbst anlegen muss und der nicht, wie von mir eigentlich erwartet, automatisch angelegt wird. Erst mit diesen beiden Hinweise geriet der Hosting & Security-Teil der Dokumentation in meinen Blick, wo ich herausfinden konnte, dass man mittels
Code:
PAPERLESS_ADMIN_USER=<username>
PAPERLESS_ADMIN_PASSWORD=<password>
die entsprechenden Einträge setzen muss.Nun wird aber auch eine Datenbank verwendet und aus Bequemlichkeitsgründen würde ich entgegen der Empfehlung auf die Maria DB von qnap zurückgreifen. Also habe ich den Database-Dokumentationsteil nachgeschaut und mir die folgenden Einträge rausgesucht:
Code:
PAPERLESS_DBENGINE=<engine_name>
PAPERLESS_DBHOST=<hostname>
PAPERLESS_DBPORT=<port>
PAPERLESS_DBNAME=<name_db>
PAPERLESS_DBUSER=<name_user>
PAPERLESS_DBPASS=<password>
Ich muss somit bei der Datenbank lediglich eine neue Datenbank
<name_db>
erstellen sowie einen Nutzer <name_user>
mit allen Rechten auf diese und natürlich dem Passwort <password>
. Den <port>
habe ich gefunden, und unter <hostname>
trage ich vermutlich die URL ein, über welche ich auch auf mein NAS zugreife (bitte sofort korrigieren, falls ich falsch liege).Da ich keinen Zugriff von außen plane, es also innerhalb des lokalen Netzwerkes läuft, gehe ich davon aus, dass ich mich mit Zertifikaten nicht auseinandersetzen muss, also Einträge wie
PAPERLESS_DBSSLMODE
oder PAPERLESS_DBSSLROOTCERT
ignorieren kann. Falls dies doch empfehlenswert ist, würde ich mich über entsprechende Hinweise freuen.Ich hoffe, dass ich die anderen Einstellungen wie
PAPERLESS_OCR_LANGUAGE=<lang>
auch im laufenden Betrieb durchführen kann und die Spracheinstellung nicht für immer und ewig hier festgemacht werden muss. Ich habe allerdings unter dem file-name-handling-Dokumentationsteil gelesen, dass die Dateien durchnummeriert werden und diese etwas unschönen Dateienamen über PAPERLESS_FILENAME_FORMAT geändert werden kann, sogar so, dass diese in entsprechenden Unterordnern abgelegt werden. Würde ich dann z.B. unter PAPERLESS_FILENAME_FORMAT
dann einfach den Wert {created_year}/{correspondent}/{created}-{title}
eintragen? Oder muss ich etwas wegen den Sonderzeichen beachten?Netzwerk
Hier muss ich die Portweiterleitungen eintragen, damit ich auch über die URL meines qnaps darauf zugreifen kann. Soweit ich es verstanden habe, muss ich zu jedemn freien Port vom Container einen Port vom host (meinem qnap) eintragen, d.h. ich muss zuerst herausbekommen, über welche Ports paperless überhaupt kommuniziert. Ich habe nur herausfinden können, dass er über Port 8000 kommuniziert und sonst keine weiteren Ports gefunden. Ich bin unsicher, ob etwas fehlt, da ich dies nur nebenbei im Fließtext gelesen habe und nicht als Übersicht. Falls ich richtig liege, muss ich nur Port 8000 vom Container auf z.B. Port 17101 weiterleiten. Also ein nahezu willkürlich gewählter Port, der noch nicht belegt ist, oder gibt es hier Regeln, die zu beachten wären?
Eintrag Hostname bleibt leer und Netzwerkmodus bei NAT.
Gerät
Für mich an dieser Stelle vermutlich uninteressant.
Freigabeordner
Jetzt wird es spannend. Da ich die Daten bei Container-Fehler/Verlust oder was auch immer nicht verlieren möchte und bei einem Neuaufsetzen nicht mühselig aus den Container exportieren möchte, muss ich dafür sorgen, dass die relevanten Daten außerhalb des Containers gelagert werden. Bei dem Paths-and-folders-Dokumentationsteil bin ich fündig geworden.
Als relevant konnt ich den Eintrag
PAPERLESS_MEDIA_ROOT=<path>
identifizieren, da dort die Dokumente abgespeichert werden. Unsicher bin ich bei PAPERLESS_CONSUMPTION_DIR=<path>
, vermutlich ist dies aber nur ein Ordner, wo Dokumente temporär bearbeitet oder analysiert werden (oder?). Es gibt auch noch PAPERLESS_DATA_DIR=<path>
Allerdings habe ich weiter oben angegeben, das er auf die QNAP-Datenbank zugreifen soll, somit liegen dann doch dort alle relevanten Einträge, oder? Bei einem Neuaufsetzen des Containers oder einem Update, so meine naive Vorstellung, müsste ich nur den Ordner mit den Dokumenten und den Datenbankzugriff identisch halten. Falls mehr zu beachten ist, bitte ich drigend um Hinweise
Nun kann ich aber bei den Eintrag keine Umgebungsvariable eintragen, sonder muss angeben, dass ein bestimmter Ordner im Container auf einen Ordner außerhalb des Containers gemappt werden soll. Wie finde ich die heraus? In der Dokumentation steht bezüglich
PAPERLESS_MEDIA_ROOT
nur:Defaults to "../media/", relative to the "src" directory.
/usr/src/paperless/media
wie im zuvor genannten thread dargelegt? Abgesehen davon, dass man hier vermutlichnur absolute Pfade angeben kann, wäre ich bezüglich der Dokumentation eher auf src/media/
gekommen und hätte dann noch herausfinden müssen, wie der absolute Pfad ist, wobei ich auch nicht auf unix system resources (usr) gekommen wäre. Wie kriege ich den korrekten Pfad heraus?Unter der Dokumentations zur Administration habe ich folgendes gelesen:
Options available to docker installations:
- Backup the docker volumes. These usually reside within/var/lib/docker/volumes on the host and you need to be root inorder to access them.
Paperless uses 4 volumes:
- paperless_media: This is where your documents are stored.
- paperless_data: This is where auxillary data is stored. Thisfolder also contains the SQLite database, if you use it.
- paperless_pgdata: Exists only if you use PostgreSQL andcontains the database.
- paperless_dbdata: Exists only if you use MariaDB and containsthe database.
Also muss ich nur die Ordner
paperless_media
und paperless_data
entsprechend mappen, da ich MariaDB zwar nutze, diese sich aber außerhalb des Containers befindet. Ich bin allerdings irritiert, in dem anderen Dokumentationsteil wurde von einem Ordner media
geschrieben und nun von paperless_media
? Viele liebe Grüße
Frank