crusher79
Goto Top

DMS Paperless-ngx Windows Docker Desktop Umsetzung

Hallo,

wollte mal mein Chaos neu sortieren und DMS einsetzen. Sagte mir alles nicht so zu. Nun bin ich bei Paperless-ngx auf Docker hängen geblieben. Mit Docker hatte ich leider in der letzten Zeit weniger zu tun.

Da ich kein NAS hab, wollte ich es zunächst unter Windows 10 testen. Docker Desktop + WSL. Idee war es später bei Problemen, den Container auf anderen Host einfach einzuhängen - ESXi 8 mit Photon-OS z.B.

Im ersten Schnellversuch mit linuxserver/paperless-ngx:latest rasch Erfolg gehabt. Nur ist das schon wieder deprecated. Die Möglichkeiten sind ja vielfältig. Wie gehe ich am besten vor?

Habe aktuell die offizielle paperlessngx/paperless-ngx:latest geladen. Die läuft aber auf Anhieb nicht, da redis fehlt. Habe redis beim Überfliegen nicht finden können und es in einen 2. Container gepackt.

docker network create --driver=bridge --subnet=172.18.0.0/24 --ip-range=172.18.0.0/24 --gateway=172.18.0.254 br0
docker run -d -p 6379:6379 -p 8000:8000 --network br0 --network-alias redis --name myredis redis
docker run -d --name paperless --network "container:myredis"  paperlessngx/paperless-ngx:latest  

Localhost war schon die 1. Herausforderung. Habe es nun über das Container-Netzwerk gelöst. Redis wird gefunden und Paperless-ngx läuft nach anlegen des Superusers sofort.

Hier die Frage: So OK oder sollte man besser einen Proxy mit installieren, um später die Ports frei ändern zu können ohne einen Container mit commit zu clonen oder anders einzugreifen? Für das "localhost Problem" fiel mir hier auch nichts besseres ein. Gibt es da noch eine andere Methode? Redis URL als Parameter hat es nicht gefressen. Im Startscript steht auch hart "localhost:6379" für redis drin. Ohne das zu ändern denke ich ist es zwecklos.

Die oben angesrprochene Linuxserver Version besteht nur aus einen Container. Bei jetzigen Setup fehlt noch DOCX Support - Gotenberg und tika.

Hab auch vor ggf. mal zu schauen, ob sich einige Operationen mit DB Manipulation bewerkstelligen lassen. Hätte also gerne Zugriff auf die MariaDB?!? - Das ? da man leider im ersten Moment unter Windows und ohne Yaml fast blind ist. Docker Desktop macht den Pull und zack liegt es schon da.

Kann man Eurer Meinung nach mit Windows Docker Desktop vernünftig arbeiten oder lieber komplett zu Linux umschwenken? Gerade wenn es um Sonderlocken und Anpassungen geht.

mfg Crusher

Content-Key: 21219763280

Url: https://administrator.de/contentid/21219763280

Printed on: April 27, 2024 at 21:04 o'clock

Member: ASP.NET.Core
Solution ASP.NET.Core Oct 29, 2023 at 13:37:49 (UTC)
Goto Top
Hi,

Quote from @Crusher79:
Kann man Eurer Meinung nach mit Windows Docker Desktop vernünftig arbeiten
Nein. Das war & ist in der Form schon immer Linux-Technologie, Windows kann das nicht. Deswegen frickeln Docker Dekstop, WSL & co auch mit GNU/Linux-VMs rum. Mit Windows bekommt man halt auch Windows-Probleme. Manche stehen darauf, ansonsten ist es eine schlechte Idee.

Quote from @Crusher79:
oder lieber komplett zu Linux umschwenken? Gerade wenn es um Sonderlocken und Anpassungen geht.
Ja, würde ich nicht erst deswegen machen. Letztens erst wollte ein Kollege nicht darauf hören und hat sich gefreut, als MS mit kaputten Windows-Updates das ganze zerschossen hat. War technisch nix wildes, nur 3 Container, aber halt kritische. Backup-System hat es beim nächsten Start auch zerlegt face-big-smile

Quote from @Crusher79:
Mit Docker hatte ich leider in der letzten Zeit weniger zu tun.
Sieht eher aus, als hättest du damit noch nie viel zu tun gehabt. Soll kein Vorwurf sein, sondern nur die nüchterne Feststellung, dass du die Grundlagen ausbauen solltest. Was du machst, ist auf diesem Hello World Level: https://u-labs.de/portal/raspberry-pi-einstieg-in-docker-container-fuer- ...
Für den ersten und zweiten Container ist das okay, spätestens produktiv gibt es bessere Wege mit Compose. Das kann auch vernünftig mit mehreren Containern umgehen, die zu einem Dienst gehören: https://u-labs.de/portal/einfuehrung-das-ist-docker-compose-und-so-insta ...

Quote from @Crusher79:
Im ersten Schnellversuch mit linuxserver/paperless-ngx:latest rasch Erfolg gehabt. Nur ist das schon wieder deprecated. Die Möglichkeiten sind ja vielfältig. Wie gehe ich am besten vor?
Offizielle Images bevorzugen & Dokus lesen. Steht beim Linuserver Image drin, dass Paperless mittlerweile ein offizielles hat und sie ihres daher einstellen.

Quote from @Crusher79:
Habe aktuell die offizielle paperlessngx/paperless-ngx:latest geladen. Die läuft aber auf Anhieb nicht, da redis fehlt. Habe redis beim Überfliegen nicht finden können und es in einen 2. Container gepackt.
Steht in der Doku und den Beispiel yamls drin, dass man Redis installieren soll. Vor allem wenn man neu in etwas einsteigt, ist es empfehlenswert, Dokus richtig zu lesen und nicht nur zu überfliegen.

Quote from @Crusher79:
Localhost war schon die 1. Herausforderung. Habe es nun über das Container-Netzwerk gelöst.
Das solltest du vertiefen. Docker Netzerke zu verstehen gehört zu den Grundlagen. Spätestens beim zweiten Container braucht man das, wie du schon gemerkt hast. So lange du unter Windows fährst, bedenke zudem, dass zwischen Docker und deinem System außerdem noch eine VM steckt.

Quote from @Crusher79:
Hier die Frage: So OK oder sollte man besser einen Proxy mit installieren, um später die Ports frei ändern zu können ohne einen Container mit commit zu clonen oder anders einzugreifen?
Commit klonen? Du brauchst einen Reverse Proxy hauptsächlich, wenn mehrere Webserver vernünftig auf den Standardports erreichbar sein sollen. Oder du irgendwas dran bauen willst, was die Anwendung nicht hergibt bzw. das ins Internet stellen & per DMZ schützen willst. Meiner Erfahrung nach macht ein Reverse Proxy schon alleine deswegen Sinn, weil es selten bei einem einzelnen Dienst bleibt. Kann man theoretisch natürlich auch mit Ports machen, ist aber unkomfortabel und man muss sich ggf. an zig Stellen ums Zertifikate kümmern. Traefik integriert sich gut in Docker und kann einiges automatisieren: https://u-labs.de/portal/traefik-auf-server-raspberry-pi-installieren-un ...

Quote from @Crusher79:
Redis URL als Parameter hat es nicht gefressen. Im Startscript steht auch hart "localhost:6379" für redis drin. Ohne das zu ändern denke ich ist es zwecklos.
Der richtige Weg wäre, die PAPERLESS_REDIS Umgebungsvariable zu setzen. Steht in der Doku zu den benötigten Diensten: https://github.com/paperless-ngx/paperless-ngx/blob/f695d4b9daa2a4a4ddc7 ...

Das lädt er auch, was sich dank OSS im Code nachprüfen lässt:

https://github.com/paperless-ngx/paperless-ngx/blob/f695d4b9daa2a4a4ddc7 ...

_CELERY_REDIS_URL, _CHANNELS_REDIS_URL = _parse_redis_url(
    os.getenv("PAPERLESS_REDIS", None),  
)

Der Standardwert localhost:6379 ist dort ebenfalls dokumentiert und vmtl für manuelle Installationen gedacht. Dass du den mit Docker überschreiben musst, hast du prinzipiell also richtig erkannt. Nur vmtl. falsch umgesetzt. Oder vergessen zu machen/posten, in deinen 3 Befehlen sehe ich nirgendwo was dazu.

Quote from @Crusher79:
Hab auch vor ggf. mal zu schauen, ob sich einige Operationen mit DB Manipulation bewerkstelligen lassen. Hätte also gerne Zugriff auf die MariaDB?!?
Wo die DB läuft ist eine gute Frage, in deinem Post steht keine Info dazu. Wenn irgendwas nicht geht, wäre Basteln an der DB auf eigene Faust meine letzte Option. Außer du bist aktiver Entwickler an dem Projekt und kannst abschätzen, was das für Konsequenzen hat.

Übrigens steht in der Doku zur Konfiguration bzgl der DB:
Default is `postgresql`.
!!! warning
    Using MariaDB comes with some caveats. See [MySQL Caveats](/advanced_usage#mysql-caveats).

Je nachdem von was für "Operationen" du reden und ob dich das betrifft, ist das ggf. relevant.
Member: Crusher79
Crusher79 Oct 31, 2023 at 00:59:19 (UTC)
Goto Top
Zitat von @ASP.NET.Core:

Kann man Eurer Meinung nach mit Windows Docker Desktop vernünftig arbeiten
Nein. Das war & ist in der Form schon immer Linux-Technologie, Windows kann das nicht. Deswegen frickeln Docker Dekstop, WSL & co auch mit GNU/Linux-VMs rum. Mit Windows bekommt man halt auch Windows-Probleme. Manche stehen darauf, ansonsten ist es eine schlechte Idee.

Danke für den Input. Ja nur pullen macht keinen Spaß. habe es nun mit yaml composed.

Werde noch einiges aufarbeiten müssen. Hier ist es erstmal für ein rein privates Projekt.

docker_example