paperless-ngx update script Fehler

drpsycho

Member
Jan 7, 2022
5
1
8
45
Hallo,

ich wollte heute meinen Paperless Container updaten. Die Installation wurde seinerzeit mit dem Script von
https://tteck.github.io/Proxmox/ durchgeführt. Gelegentlich Updates waren bisher immer ohne Fehler. Bis heute.
Update von 2.7.2 auf. 2.10.2 mittels “update” auf der Konsole. Danach ist die Paperless Instanz leider nicht mehr
konsistent. Web interface ist noch erreichbar, Dokumente werden nicht angezeigt. Folgende Fehler sind aufgetreten.

Script bricht ab:

“cat: /opt/Paperless-ngx_version.txt: No such file or directory
• Stopped all Paperless-ngx Services
\ Updating to v2.10.2 [ERROR] in line 83: exit code0: while executing command
/usr/bin/python3 manage.py migrate &> /dev/null”

Im Webinterface kann ich keine Dokumente anzeigen. Unter “Dateiaufgaben - Abgeschlossen” sowie im entsprechenden Ordner im Dateisystem sind
die Dokumente vorhanden: Fehler im Webinterface siehe Screenshot 2.
Proxmox Installation wurde vor Update Paperless upgedated. Reboot usw. ist erfolgt.
Log im Proxmox zeigt keine Fehler.
Die Version ist laut Webinterface auch upgedated auf 2.10.2.
Wenn ich das Updatescript erneut aufrufe, wird mir wieder das Update auf 2.10.2 angeboten, was nach Start des Script
immer wieder auf den gleichen Fehler läuft.

Habe jetzt erstmal das Backup zurückgespielt.

Evtl. hat wer eine Lösung oder einen Tipp für mich?

Danke euch - Wolfgang
 

Attachments

  • IMG_1001.jpeg
    IMG_1001.jpeg
    698.8 KB · Views: 17
  • IMG_1002.jpeg
    IMG_1002.jpeg
    568 KB · Views: 13
Last edited:
>> EDIT: Nachdem ich das letzte Backup des LXC in pve zurückgespielt habe, lief das tteck script zum Update erfolgreich durch. Komisch...

Hi drpsycho,
ich schließe mich dem Post an, da ich offenbar den gleichen/ähnlichen Fehler bekomme:


Code:
    ____                        __                                   
   / __ \____ _____  ___  _____/ /__  __________    ____  ____ __  __
  / /_/ / __ `/ __ \/ _ \/ ___/ / _ \/ ___/ ___/___/ __ \/ __ `/ |/_/
 / ____/ /_/ / /_/ /  __/ /  / /  __(__  |__  )___/ / / / /_/ />  <
/_/    \__,_/ .___/\___/_/  /_/\___/____/____/   /_/ /_/\__, /_/|_|
           /_/                                         /____/     
 
cat: /opt/Paperless-ngx_version.txt: No such file or directory
 ✓ Stopped all Paperless-ngx Services
 | Updating to v2.11.4 
[ERROR] in line 81: exit code 0: while executing command pip install -r requirements.txt &> /dev/null

root@paperless-ngx:~#

Google meint, die pip bzw. python version sei out of date. Ein update von pip schlägt aber ebenfalls fehl:


Code:
[notice] To update, run: python3 -m pip install --upgrade pip
root@paperless-ngx:~# python3 -m pip install --upgrade pip
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
  
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
  
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
  
    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

[notice] A new release of pip is available: 23.3.2 -> 24.2
[notice] To update, run: python3 -m pip install --upgrade pip
 
Last edited:
Na ja, dein Betriebssystem ist ja für die Updates zuständig, also auch für python3/pip. Da ist es klar, dass es zu diesem Fehler mit python3/pip kommt. Also mal ein z. B. sudo apt update && sudo apt upgrade -y probieren.
 
  • Like
Reactions: Johannes S
Hallo zusammen,

ich habe heute das Update (Proxmox 8.2, LXC Container mit paperless-ngx via Script installiert und geupdated) auf 2,ausgefuehrt und bin damit maechtig auf die Nase gefallen (Web GUI ist nicht mehr erreichbar etc., bin da etwas ratlos, Backup ist was aelter etc.).

Letztlich bin ich bei dem gleichen Fehler gelandet und das Update brach ab.
Kann es etwas mit der Python3 Version zu tun haben (hier erstaunlicherweise im Container 3.9 / Host: 3.11)?
Die Tipps hier haben mir nicht geholfen soweit ich das sagen kann.

Was kann ich hier tun? Tipps?

Gruss und Danke,
PRNT
 
Last edited:
Kann es etwas mit der Python3 Version zu tun haben (hier erstaunlicherweise im Container 3.9 / Host: 3.11)?
So als Proxmox Anfaenger bin ich etwas weiter gekommen. Der Container war in seinen Sourcen noch bei bullseye und nicht bei bookworm.
Der Container war urspruenglich unter Proxmox 7 erstellt worden. Ich war damals noch der irrigen Annahme, dass der Container die Hauptversion des Hosts 'erbt'. Ich lerne noch.

Vielleicht mal beim Entwickler "vorbeischauen" und/oder dort nachfragen?
Danke fuer den Hinweis. Aber in den dortigen einschlaegigen Quellen wird dann u.a. auf Python/paperless verwiesen etc.
So bin ich auch zur der Annahme gekommen, dass die Python Version im Container veraltet ist.

Die wunderbaren Helper-Scripts liefen bislang eigentlich immer mit Fire&Forget durch. Was es aber nicht macht, die Version des Containers zu pruefen, wenn es dort zum Update laeuft (Vermutung). Im Gegegensatz dazu meckert es durchaus, wenn der Host veraltet ist. Auch hier glaubte ich, dass es meckern wuerde, wenn die Containerversion veraltet ist. Das ist leider nicht der Fall - schoen waere es aber,
Ich denke, dass das Thema zwischen den Stuehlen und vor dem Rechner sitzt.

Ich habe den Container nun geupdatet, was dann auch durchlief. Leider ist paperless immer noch mausetot und da beisse ich bald in die Tischkante und befuerchte den total Verlust. In das Setup ist einiges an Arbeit und Dokumenten geflossen. Hilfe.**

Gruss und Danke,
PRNT

PS. Ich weiss mehr Arbeit waere besser in Backups geflossen :confused:
 
Last edited:
[Update - alles ohne Gewaehr da teiweise gefaehrliches Halbwissen und so ganz blicke ich das noch nicht]

Vielleicht hilft das hier auch anderen weiter als Startpunkt - vielmehr (s.o.) kann es nicht sein

Ich denke, dass ich mehrere Probleme habe bzw. hatte:

1. Was bisher geschah:
  • der LCX Container fuer Paperless-NGX wurde urspruenglich unter einem Host Proxmox 7.XX mit bullseye Basis durch das Script unter https://tteck.github.io/Proxmox/ erstellt (aktuelle Script Version hier) und regelmaessig geupdated
    (das Script leistet beides je nachdem wo es aufgerufen wird).

    Das bedingt, dass auch der Container in seinen Sourcen.List bullseye vermerkt wurde - logisch.
    Zum Update auf neue Paperless Versionen wurde nur das Script verwendet. Das lief mehrfach problemlos.
    Das Vertrauen in das Script wuchs und auf regelmaessige Backups vor dem Update wurde alsbald verzichtet (leider),

  • Der Proxmox Host erfuhr dann im Juni 2024 ein Update von 7.XX auf 8 (aktuell 8.2.7) und damit den Sprung von bullseye auf bookworm als Debian Basis.
    Der LXC Container wurde dabei nicht angefasst und verharrt bei bullseye in seiner SourcenList.

    Das Update Script bemaengelt zwar, wenn der Host bei der Installation/Update veraltet ist jedoch wird der Stand im Container selbst scheinbar nicht weiter geprueft sondern einfach akzpetiert.

    Ich unterlag so der irrigen Annahme, dass alles auch dauerhaft passen wuerde bzw. dachte nicht weiter darueber nach.

  • Updates mittels des HelperScripts liefen so nach dem Host Update wieder sauber durch.
    Das aenderte sich aber beim letzten versuchten Update auf 2.13.0 gestern.

2. Update Error / paperless nicht mehr ueber die WEB GUI ansprechbar → leichte Panik​

  • Das Update auf 2.13.0 war angezeigt.

    Zack ohne grosse Ueberlegung wurde das HelperScript angeworfen → Fehler.
    Paperless WEB GUI war nicht mehr erreichbar. Bumms. :confused:

    Neustart von Host und Container → keine Aenderung. Paperless-NGX WebGui blieb tot

  • Fehler: Python3
    /usr/bin/python3 manage.py migrate &> /dev/null” warf den Fehler

    Nach einer Recherche liegt es daran, dass die im Container verfuegbare python3 Version (3.9) nicht kompatibel sei (Operand nicht unterstuetzt etc.) und es mindest einer 3.10er Version bedarf.

    Daher kommt mein erster der Ansatz allein die python3 Version im Container auf eine neue Version zu heben.
    Dass die veraltete Version mehrheitlich an den Eintraegen zu bullseye in der sources.list im Container lag, war mir da nicht bewusst bzw. kam mir nicht in den Sinn.
    Man liest doch allenthalben, dass der Container die Resourcen/Komponenten des Hosts nutzt oder?

  • So langsam kann bei mir etwas Panik auf, da ich die Pasperless Instanz reichlich gefuettert hatte mit Dokumenten, Tags und Regeln.
    Droht hier der Totalverlust?

    Ein Umziehen nur von Files, um ein lauffaehiges Paperless zu bauen und so wieder wenigstens Zugriff zu bekommen schien mir als nicht gangbarer Weg. Bzw. ich fand wenig vielversprechende Infos dazu.


3. Meine (Teil)Loesungen bislang : Heben des LXC Containers auf bookworm Basis
  • nach einiger Recherche versuchte ich zuerst die Python3 Version allein auf mehr als 3.9 zu heben.

    Ich habe sogar versucht im Container python3 zu kompilieren → scheiterte aber an einer veralteten OpenSSL Version usw.
    Zum Glueck hatte ich dieses Mal ein Backup zuvor in Proxmox erstellt sodass ich wieder auf den alten Stand zurueck kommen gehen konnte. Also von vorn.

    Es gabe zwischenzeitlich ebenso einen Versuch die DB von paperless upzudaten, was aber auch in einem Rollback auf den alten Stand muendete. Das nur am Rande. Einer der DeadEnds auf dem Weg zur Besserung.

  • Schliesslich habe ich mir andere LXC Container in Proxmox angesehen und via apt-cache policy python3 (Konsole/Shell) gesehen, dass dort das Paket mit 3.11.2 bereit steht (wie im Host).
    Komisch. Warum aber hier nicht? (Er war der einzige Container mit nur 3.9).

    Eine andere als Test vor einiger Zeit aufgesetzte paperless-ngx Instanz zeigte auch 3.11.2 und verdaute das HelperScript zum Update ohne Probleme. Erste Hoffnung keimte. Sollte python3 auf >3.9 also der Weg sein?

    Es dauerte bis mein Blick auf den Buecherwurm (via apt-cache policy python3in der Konsole/Shell)

    1730033768090.png
    fiel und bis ich das im kaputten paperless container auch sah und den feinen Unterschied abseits der Version bemerkte – fast zufaellig.
    Denn im fraglichen paperless-ngx Container stand dort noch bullseye.
    Das fuehrte zum neuem Ansatz:

  • ==> Update der sourcen.list im Container auf bookworm via Konsole:

    sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
    (Find&Replace bullseye durch bookworm in der Liste)

    und das Upgrade ansgestossen via

    apt update && apt upgrade -y (?)

    Das Update lief nach einer kleinen Ewigkeit durch. Prima.

    Im Ergebnis ist der LXC Container von bullseye auf bookworm in der Basis gehoben worden.
    Der Vorgang hatte unzaehlige Updates zur Folge.
    Aber so steht u.a. im Container nun auch python 3.11.2 anstelle von 3.9 zu Verfuegung.
    Erst mal prima!

  • [Backup des Containers erstellt vor dem naechsten Schritt]

  • Dennoch war paperless-ngx’s Web-GUI weiterhin tot. Grrrrr

  • Neuer Update/Repairversuch mit HelperScript ausgegfuehrt in der Konsole
    → anderer neuer Fehler in einer anderen Zeile des Scripts:

    [ERROR] in line 81: exit code 0: while executing command pip install -r requirements.txt &> /dev/null

4. Meine (Teil)Loesungen: Erneutes Update mit HelperScript mit Umwegen
  • Um den Fehler zu beheben, stiess ich dann auf folgenden Tipp (u.a. hier im Thread):

    rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
    [1] https://forum.proxmox.com/threads/paperless-ngx-update-script-fehler.150797/post-698022

    Nach meiner Recherche schien das moeglich, dass hier eine Ursache liegen kann.
    Also diesen Befehl im Container (Konsole) ausgefuehrt.

  • Update Paperless-NGX HelperScript in der Konsole erneut ausgefuehrt

  • Es dauert, es dauerte – aber es endete ohne Fehler! Success!

  • Best of all: Paperless-NGX Web-GUI war wieder erreichbar! → Wunderbar!


  • Jetzt werden erst mal neue Backups gezogen usw.


    Vermutlich werde ich das ganze auf einen neuen LXC Container umziehen, da ich kaum weiss wie lange der aktuelle Container halten wird und ob es nicht noch nachteiligen residue von meinen vielflachen Rep.versuchen gibt.
    Danach werden ich mich in Bezug auf Proxmox noch ein wenig aufschlauen, so dass so was die Ausnahme bleibt.

    Ich bin mir ziemlich sicher, dass es nicht der Stein des Weisen hier ist, aber vielleicht hilft es auch anderen weiter bzw. bietet einen Einstieg.


    Gruss und Danke,
    PRNT​
 
  • Like
Reactions: Abel_Warringer
Nicht böse gemeint, aber warum arbeitet ihr mit Helperskripten, wenn ihr laut eurer eigenen Aussage noch nicht so richtig wisst, wie alles zusammen funktioniert? Wenn man nicht versteht, was die Skripte und der Rest des Systems genau machen, ist man verloren, sobald es mal Probleme gibt. Und wenn man soweit ist, dass man das Helperskript versteht, kann man die manuellen Schritte auch selbst machen.

Um was konstruktives beizutragen: paperless-ngx hat eine Anleitung die eine Installation über deren eigenes, offizielles Skript beschreibt (bin ich immer noch kein Fan von, irgendwas aus dem Internet auszuführen, aber immerhin wird das offiziell von paperless unterstützt) oder über ein docker-compose:
https://docs.paperless-ngx.com/setup/

Eine Debian- oder Ubuntu-VM mit portainer ist schnell aufgesetzt und simpler als über docker-compose geht es dann echt nicht mehr. Vorteil: Da die Abhängigkeiten und alles dann direkt über das Docker-Image mitgezogen werden, gibt es dann nie mehr Ärger mit den Abhängigkeiten nach einen Update.

Alle male besser, als sich mit nicht verstandenen Helper-Skripten und deren Folgen rumzuärgern.

Just my two cents, Johannes.
 
  • Like
Reactions: Ernst T.
Nicht böse gemeint, aber warum arbeitet ihr mit Helperskripten,
Das soll hier auch nicht die Diskussion sein um den Sinn oder Unsinn von solchen Skripten. Natuerlich sollte man sich dem Nutzen als auch den Gefahren (Quellen) bewusst sein. Solche Skripte sind sicher nicht fuer jeden was. Das ist klar.

Das hier genutzte HelperSkript ist aber einsehbar und kann von jedem, der verstaendig ist, entsprechend beurteilt werden.
Nicht alle Nutzer koennen das und es wird auch nie so sein.
Ich bin allerdings auch nicht der Meinung, dass man alles verstehen muss geschweige denn kann, auch wenn mehr Verstaendis meist hilft.
Irgendwo faengt jeder an und da sind diese Scritpts schon hilfreich IMHO, wenn es in Richtung LXC Container gehen soll etc.

Wir nutzen Proxmox, z.B. Synaptic auf dem Desktop, ohne dass ein Detailvertstaendnis da ist. Wir vertrauen auf Paketquellen usw.
Es ist nicht alles ideal, aber so ist das eben und größtenteils faehrt man damit ganz gut.
Docker hat per se auch nicht Sicherheit im Bauch.

Der Vorschlag zur VM ist einer, aber das moechte ich z.B. hier explizit nicht, da sich das ganze hier auf einem MiniPC abquaelt der zwar wenig verbraucht aber nicht unendlich Ressourcen hat. LXC Container sind da schlanker und eben auch andere Tiere als Docker Images.
Aber der Gedanke nur eine kleine Maschine einzusetzen war fuer mich dann der Ausschlag fuer LXC. So war mein Anfang damit.

Docker wird andere Probleme haben. Docker Images sind auch oft BlackBoxes. Aber mit Docker habe ich noch weniger Erfahrung zugegebenermassen.

Aegert man sich nicht ueber Proxmox und LXC Container sind es dann Docker Container ;-).
Alles hat seine Vor- und Nachteile und Lernkurven IMHO. Auch wenn ich Docker zugestehen muss, dass es einfacher zu haendeln sind vermutlch.
Ich kann Deinen Vorschlag also gut verstehen.

Und klar paperless selbst sieht da genau diesen Weg vor. Das nutzen von paperless im LXC Container weicht davon ab.

Aber wir wollen ja alles lernen ;-)
Das habe ich heute getan. Immerhin etwas.

Also nichts fuer ungut!

Gruss,
PRNT
 
Last edited:
Das soll hier auch nicht die Diskussion sein um den Sinn oder Unsinn von solchen Skripten. Natuerlich sollte man sich dem Nutzen als auch den Gefahren (Quellen) bewusst sein. Solche Skripte sind sicher nicht fuer jeden was. Das ist klar.

Das hier genutzte HelperSkript ist aber einsehbar und kann von jedem, der verstaendig ist, entsprechend beurteilt werden.

Und wieviele Leute machen das? Natürlich sieht das beim offiziellen Skript von paperless-ngx oder deren docker-container nicht wesentlich besser aus, dort halte ich es aber für deutlich wahrscheinlicher, dass den paperless-Entwicklern selbst Probleme auffallen und gefixet werden.
Mein Punkt ist: Wenn einen die Gefahren klar sind und man das Skript verstanden hat, braucht man es im Regelfall nicht mehr. Wenn man das aber nicht tut (und sorry, aber danach klingt es, wenn da so ein Paket-Mischmasch mit mehreren Installationsvarianten (apt und pip sind ja zwei verschiedene und unabhängig voneinander laufende Paketverwaltungen, die somit auch gegenseitig sich Probleme machen können!) beschrieben wird), dann sorgt das doch früher oder später dafür, dass man (wie hier im Thread) Probleme bekommt, ohne überhaupt einen Lösungsansatz zu haben.

Nicht alle Nutzer koennen das und es wird auch nie so sein.
Ich bin allerdings auch nicht der Meinung, dass man alles verstehen muss geschweige denn kann, auch wenn mehr Verstaendis meist hilft.
Irgendwo faengt jeder an und da sind diese Scritpts schon hilfreich IMHO, wenn es in Richtung LXC Container gehen soll etc.
Wofür helfen diese Skripte? Beim Verständnis schon mal nicht, anders als wenn man Z.B. sich ein Debian in einen LXC-Container installiert und dort dann paperless-ngx nach der offiziellen Dokumentation (wenn es denn schon lxc sein muss) installiert
Und wenn man einfach "fire and forget" will, ist der Weg über eigene vm für docker deutlich weniger fehleranfällig:
  • Mit dem Update des docker-containers werden auch die Abhängigkeiten mit aktualisiert, also kein Ärger durch verhauene Pakete beim Systemupdate
  • Die VM isoliert das System noch mal besser als per LXC, ein Sicherheitsproblem oder hack, betrifft also, wenn man Glück hat, nicht auch die anderen VMs / container
  • Ich muss für alle in dieser VM gehosteten Container das Betriebssystem nur einmal aktualisieren, statt (wie wenn ich für jede Anwendung einen eigenen lxc-Container einrichte) jedes lxc für sich plus darauf hoffen, dass mit den Update einen nichts kaputt gemacht wird.

Wir nutzen Proxmox, z.B. Synaptic auf dem Desktop, ohne dass ein Detailvertstaendnis da ist. Wir vertrauen auf Paketquellen usw.
Es ist nicht alles ideal, aber so ist das eben und größtenteils faehrt man damit ganz gut.
Du nutzt Proxmox auf einen Desktop? Dann ist das schon mal eine Variante, die offiziell nicht unterstützt wird. Man kann das natürlich trotzdem machen, aber das macht es dann ja nur schwieriger bei Fehlern zu helfen. Und "faehrt damit ganz gut" würde ich bei Problemen, wie hier im Thread jetzt nicht sagen, aber jeder wie er mag.
Docker hat per se auch nicht Sicherheit im Bauch.
Das war auch nicht der Punkt, sondern dass das beim Deployen von Anwendungen mit weniger Stress verbunden ist, gerade wenn man (noch) nicht die Skills hat.
Der Vorschlag zur VM ist einer, aber das moechte ich z.B. hier explizit nicht, da sich das ganze hier auf einem MiniPC abquaelt der zwar wenig verbraucht aber nicht unendlich Ressourcen hat. LXC Container sind da schlanker und eben auch andere Tiere als Docker Images.

Docker-Container sind nicht mehr und nicht weniger ressourcenhungrig als lxc. Und das mit der VM trifft nur zu, wenn man meint für jeden Docker-Container eine neue VM aufmachen zu müssen, das sollte man bei begrenzten Ressourcen natürlich nicht tun. Aber dass ein MiniPC mit einer Debian-VM und den darin laufenden Docker-Containern überfordert ist, das wage ich dann doch zu bezweifeln. Wenn man natürlich bei vier CPU-Kernen analog zu 20 LXC-Containern 20 VMs mit jeweils einen Docker-Container laufen lässt, dann haut das natürlich nicht hin. Aber so sollte man das ja auch nicht machen.

Wenn man das ganze als Lernprojekt sieht, ist es natürlich ok das über lxc und co zu machen,, dann muss man dann aber auch mit den Ausfallzeiten (weil man öfter Sachen reparieren muss) leben. Die helper-scripts sind dafür aber gerade nicht hilfreich, weil sie die Komplexität verstecken, die dann früher oder später doch zuschlägt. Will man dagegen die Anwendungen tatsächlich produktiv einsetzen (wie hier als Sammlung aller wichtigen Dokumente), würde ich mir dagegen noch mal überlegen, ob diese Art von Downtime einen das wert ist.
 
Last edited:
  • Like
Reactions: CoolTux
[Update - alles ohne Gewaehr da teiweise gefaehrliches Halbwissen und so ganz blicke ich das noch nicht]

Vielleicht hilft das hier auch anderen weiter als Startpunkt - vielmehr (s.o.) kann es nicht sein

Ich denke, dass ich mehrere Probleme habe bzw. hatte:

1. Was bisher geschah:
  • der LCX Container fuer Paperless-NGX wurde urspruenglich unter einem Host Proxmox 7.XX mit bullseye Basis durch das Script unter https://tteck.github.io/Proxmox/ erstellt (aktuelle Script Version hier) und regelmaessig geupdated
    (das Script leistet beides je nachdem wo es aufgerufen wird).

    Das bedingt, dass auch der Container in seinen Sourcen.List bullseye vermerkt wurde - logisch.
    Zum Update auf neue Paperless Versionen wurde nur das Script verwendet. Das lief mehrfach problemlos.
    Das Vertrauen in das Script wuchs und auf regelmaessige Backups vor dem Update wurde alsbald verzichtet (leider),

  • Der Proxmox Host erfuhr dann im Juni 2024 ein Update von 7.XX auf 8 (aktuell 8.2.7) und damit den Sprung von bullseye auf bookworm als Debian Basis.
    Der LXC Container wurde dabei nicht angefasst und verharrt bei bullseye in seiner SourcenList.

    Das Update Script bemaengelt zwar, wenn der Host bei der Installation/Update veraltet ist jedoch wird der Stand im Container selbst scheinbar nicht weiter geprueft sondern einfach akzpetiert.

    Ich unterlag so der irrigen Annahme, dass alles auch dauerhaft passen wuerde bzw. dachte nicht weiter darueber nach.

  • Updates mittels des HelperScripts liefen so nach dem Host Update wieder sauber durch.
    Das aenderte sich aber beim letzten versuchten Update auf 2.13.0 gestern.

2. Update Error / paperless nicht mehr ueber die WEB GUI ansprechbar → leichte Panik​

  • Das Update auf 2.13.0 war angezeigt.

    Zack ohne grosse Ueberlegung wurde das HelperScript angeworfen → Fehler.
    Paperless WEB GUI war nicht mehr erreichbar. Bumms. :confused:

    Neustart von Host und Container → keine Aenderung. Paperless-NGX WebGui blieb tot

  • Fehler: Python3
    /usr/bin/python3 manage.py migrate &> /dev/null” warf den Fehler

    Nach einer Recherche liegt es daran, dass die im Container verfuegbare python3 Version (3.9) nicht kompatibel sei (Operand nicht unterstuetzt etc.) und es mindest einer 3.10er Version bedarf.

    Daher kommt mein erster der Ansatz allein die python3 Version im Container auf eine neue Version zu heben.
    Dass die veraltete Version mehrheitlich an den Eintraegen zu bullseye in der sources.list im Container lag, war mir da nicht bewusst bzw. kam mir nicht in den Sinn.
    Man liest doch allenthalben, dass der Container die Resourcen/Komponenten des Hosts nutzt oder?

  • So langsam kann bei mir etwas Panik auf, da ich die Pasperless Instanz reichlich gefuettert hatte mit Dokumenten, Tags und Regeln.
    Droht hier der Totalverlust?

    Ein Umziehen nur von Files, um ein lauffaehiges Paperless zu bauen und so wieder wenigstens Zugriff zu bekommen schien mir als nicht gangbarer Weg. Bzw. ich fand wenig vielversprechende Infos dazu.


3. Meine (Teil)Loesungen bislang : Heben des LXC Containers auf bookworm Basis
  • nach einiger Recherche versuchte ich zuerst die Python3 Version allein auf mehr als 3.9 zu heben.

    Ich habe sogar versucht im Container python3 zu kompilieren → scheiterte aber an einer veralteten OpenSSL Version usw.
    Zum Glueck hatte ich dieses Mal ein Backup zuvor in Proxmox erstellt sodass ich wieder auf den alten Stand zurueck kommen gehen konnte. Also von vorn.

    Es gabe zwischenzeitlich ebenso einen Versuch die DB von paperless upzudaten, was aber auch in einem Rollback auf den alten Stand muendete. Das nur am Rande. Einer der DeadEnds auf dem Weg zur Besserung.

  • Schliesslich habe ich mir andere LXC Container in Proxmox angesehen und via apt-cache policy python3 (Konsole/Shell) gesehen, dass dort das Paket mit 3.11.2 bereit steht (wie im Host).
    Komisch. Warum aber hier nicht? (Er war der einzige Container mit nur 3.9).

    Eine andere als Test vor einiger Zeit aufgesetzte paperless-ngx Instanz zeigte auch 3.11.2 und verdaute das HelperScript zum Update ohne Probleme. Erste Hoffnung keimte. Sollte python3 auf >3.9 also der Weg sein?

    Es dauerte bis mein Blick auf den Buecherwurm (via apt-cache policy python3in der Konsole/Shell)

    View attachment 76843
    fiel und bis ich das im kaputten paperless container auch sah und den feinen Unterschied abseits der Version bemerkte – fast zufaellig.
    Denn im fraglichen paperless-ngx Container stand dort noch bullseye.
    Das fuehrte zum neuem Ansatz:

  • ==> Update der sourcen.list im Container auf bookworm via Konsole:

    sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
    (Find&Replace bullseye durch bookworm in der Liste)

    und das Upgrade ansgestossen via

    apt update && apt upgrade -y (?)

    Das Update lief nach einer kleinen Ewigkeit durch. Prima.

    Im Ergebnis ist der LXC Container von bullseye auf bookworm in der Basis gehoben worden.
    Der Vorgang hatte unzaehlige Updates zur Folge.
    Aber so steht u.a. im Container nun auch python 3.11.2 anstelle von 3.9 zu Verfuegung.
    Erst mal prima!

  • [Backup des Containers erstellt vor dem naechsten Schritt]

  • Dennoch war paperless-ngx’s Web-GUI weiterhin tot. Grrrrr

  • Neuer Update/Repairversuch mit HelperScript ausgegfuehrt in der Konsole
    → anderer neuer Fehler in einer anderen Zeile des Scripts:

    [ERROR] in line 81: exit code 0: while executing command pip install -r requirements.txt &> /dev/null
4. Meine (Teil)Loesungen: Erneutes Update mit HelperScript mit Umwegen
  • Um den Fehler zu beheben, stiess ich dann auf folgenden Tipp (u.a. hier im Thread):

    rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
    [1] https://forum.proxmox.com/threads/paperless-ngx-update-script-fehler.150797/post-698022

    Nach meiner Recherche schien das moeglich, dass hier eine Ursache liegen kann.
    Also diesen Befehl im Container (Konsole) ausgefuehrt.

  • Update Paperless-NGX HelperScript in der Konsole erneut ausgefuehrt

  • Es dauert, es dauerte – aber es endete ohne Fehler! Success!

  • Best of all: Paperless-NGX Web-GUI war wieder erreichbar! → Wunderbar!


  • Jetzt werden erst mal neue Backups gezogen usw.​


    Vermutlich werde ich das ganze auf einen neuen LXC Container umziehen, da ich kaum weiss wie lange der aktuelle Container halten wird und ob es nicht noch nachteiligen residue von meinen vielflachen Rep.versuchen gibt.
    Danach werden ich mich in Bezug auf Proxmox noch ein wenig aufschlauen, so dass so was die Ausnahme bleibt.

    Ich bin mir ziemlich sicher, dass es nicht der Stein des Weisen hier ist, aber vielleicht hilft es auch anderen weiter bzw. bietet einen Einstieg.


    Gruss und Danke,
    PRNT​
Funktioniert das updaten aktuell bei dir?
Ich wollte heute von 2.12.1 mittel update auf die neueste Version hochziehen und bekomme die gleiche Fehlermeldung wie du im letzten Jahr.
Die Workarounds funktionieren leider nicht bei mir.
Funktioniert das Update bei dir?
 
Hallo @pfaelzerbube,

ärgerlich, das Problem ist meist ein veraltetes System im LXC-Container. Gehen wir es kurz durch.
Wichtig: Mach vorher unbedingt ein Backup deines Containers!
Führe dann bitte diese Befehle in der Konsole deines Paperless-Containers aus:
  1. System prüfen:
    Code:
    cat /etc/os-release
    Hier muss Debian 12 "Bookworm" stehen. Falls nicht, musst du den Container upgraden, wie es @PRNT in Post #9 beschrieben hat. Das ist die häufigste Ursache.
  2. Fehler sichtbar machen:
    Dein Update-Skript versteckt die eigentliche Fehlermeldung. Um zu sehen, was wirklich los ist, führe Folgendes aus:
    Code:
    # Den pip-Schutzmechanismus umgehenrm -f /usr/lib/python3.*/EXTERNALLY-MANAGED# Manuelle Installation der Abhängigkeitencd /opt/paperless-ngx/pip install -r requirements.txt
(Falls pip nicht gefunden wird, nutze den vollen Pfad: /opt/paperless-ngx/venv/bin/pip ...)
Die Ausgabe des letzten Befehls ist der entscheidende Fehler. Poste diese einfach hier, dann können wir dir gezielt helfen.

Grüße
 
  • Like
Reactions: pfaelzerbube
Hallo @pfaelzerbube,

ärgerlich, das Problem ist meist ein veraltetes System im LXC-Container. Gehen wir es kurz durch.
Wichtig: Mach vorher unbedingt ein Backup deines Containers!
Führe dann bitte diese Befehle in der Konsole deines Paperless-Containers aus:
  1. System prüfen:
    Code:
    cat /etc/os-release
    Hier muss Debian 12 "Bookworm" stehen. Falls nicht, musst du den Container upgraden, wie es @PRNT in Post #9 beschrieben hat. Das ist die häufigste Ursache.
  2. Fehler sichtbar machen:
    Dein Update-Skript versteckt die eigentliche Fehlermeldung. Um zu sehen, was wirklich los ist, führe Folgendes aus:
    Code:
    # Den pip-Schutzmechanismus umgehenrm -f /usr/lib/python3.*/EXTERNALLY-MANAGED# Manuelle Installation der Abhängigkeitencd /opt/paperless-ngx/pip install -r requirements.txt
(Falls pip nicht gefunden wird, nutze den vollen Pfad: /opt/paperless-ngx/venv/bin/pip ...)
Die Ausgabe des letzten Befehls ist der entscheidende Fehler. Poste diese einfach hier, dann können wir dir gezielt helfen.

Grüße
Hi,

erstmal danke, dass du dich dem Problem annimmst.
Containersicherung erfolgt eh täglich abends automatisch. Von daher ist das kein Problem.

1. System prüfen.
Hier ist bereits alles auf Debia 12 Bookworm, sollte also passen.

2. Fehler sichtbar machen:
Code:
root@paperless-ngx:/opt/paperless# pip install -r requirements.txt
Looking in indexes: https://pypi.python.org/simple
Ignoring exceptiongroup: markers 'python_version < "3.11"' don't match your environment
Ignoring typing-extensions: markers 'python_version < "3.11"' don't match your environment
Requirement already satisfied: amqp==5.2.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 2)) (5.2.0)
Requirement already satisfied: anyio==4.4.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 3)) (4.4.0)
.
.
.
.
.

Requirement already satisfied: psycopg==3.2.1 in /usr/local/lib/python3.11/dist-packages (from psycopg[c]==3.2.1->-r requirements.txt (line 80)) (3.2.1)
Requirement already satisfied: psycopg-c==3.2.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 81)) (3.2.1)
Requirement already satisfied: pycparser==2.22 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 82)) (2.22)
Requirement already satisfied: pygments==2.18.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 83)) (2.18.0)
Requirement already satisfied: pyjwt==2.9.0 in /usr/local/lib/python3.11/dist-packages (from pyjwt[crypto]==2.9.0->-r requirements.txt (line 84)) (2.9.0)
Requirement already satisfied: python-dateutil==2.9.0.post0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 85)) (2.9.0.post0)
Requirement already satisfied: python-dotenv==1.0.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 86)) (1.0.1)
Requirement already satisfied: python-gnupg==0.5.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 87)) (0.5.2)
Requirement already satisfied: python-ipware==3.0.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 88)) (3.0.0)
Requirement already satisfied: python-magic==0.4.27 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 89)) (0.4.27)
Requirement already satisfied: pytz==2024.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 90)) (2024.1)
Requirement already satisfied: pyyaml==6.0.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 91)) (6.0.2)
Requirement already satisfied: pyzbar==0.1.9 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 92)) (0.1.9)
Requirement already satisfied: rapidfuzz==3.9.7 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 93)) (3.9.7)
Requirement already satisfied: redis==5.0.8 in /usr/local/lib/python3.11/dist-packages (from redis[hiredis]==5.0.8->-r requirements.txt (line 94)) (5.0.8)
Requirement already satisfied: regex==2024.7.24 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 95)) (2024.7.24)
Requirement already satisfied: reportlab==4.2.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 96)) (4.2.2)
Requirement already satisfied: requests==2.32.3 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 97)) (2.32.3)
Requirement already satisfied: requests-oauthlib==2.0.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 98)) (2.0.0)
Requirement already satisfied: rich==13.8.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 99)) (13.8.0)
Requirement already satisfied: scikit-learn==1.5.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 100)) (1.5.1)
Requirement already satisfied: scipy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 101)) (1.13.1)
Requirement already satisfied: setproctitle==1.3.3 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 102)) (1.3.3)
Requirement already satisfied: six==1.16.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 103)) (1.16.0)
Requirement already satisfied: sniffio==1.3.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 104)) (1.3.1)
Requirement already satisfied: sqlparse==0.5.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 105)) (0.5.1)
Requirement already satisfied: threadpoolctl==3.5.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 106)) (3.5.0)
Requirement already satisfied: tika-client==0.6.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 107)) (0.6.0)
Requirement already satisfied: tornado==6.4.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 108)) (6.4.1)
Requirement already satisfied: tqdm==4.66.5 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 109)) (4.66.5)
Requirement already satisfied: tzdata==2024.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 111)) (2024.1)
Requirement already satisfied: tzlocal==5.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 112)) (5.2)
Requirement already satisfied: urllib3==2.2.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 113)) (2.2.2)
Requirement already satisfied: uvicorn==0.25.0 in /usr/local/lib/python3.11/dist-packages (from uvicorn[standard]==0.25.0->-r requirements.txt (line 114)) (0.25.0)
Requirement already satisfied: uvloop==0.20.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 115)) (0.20.0)
Requirement already satisfied: vine==5.1.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 116)) (5.1.0)
Requirement already satisfied: watchdog==4.0.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 117)) (4.0.2)
Requirement already satisfied: watchfiles==0.24.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 118)) (0.24.0)
Requirement already satisfied: wcwidth==0.2.13 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 119)) (0.2.13)
Requirement already satisfied: webencodings==0.5.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 120)) (0.5.1)
Requirement already satisfied: websockets==13.0.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 121)) (13.0.1)
Requirement already satisfied: whitenoise==6.7.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 122)) (6.7.0)
Requirement already satisfied: whoosh==2.7.4 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 123)) (2.7.4)
Requirement already satisfied: wrapt==1.16.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 124)) (1.16.0)
Requirement already satisfied: zstandard==0.23.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 125)) (0.23.0)
Requirement already satisfied: zxing-cpp==2.2.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 126)) (2.2.0)
Requirement already satisfied: typing-extensions>=4.4 in /usr/local/lib/python3.11/dist-packages (from psycopg==3.2.1->psycopg[c]==3.2.1->-r requirements.txt (line 80)) (4.12.2)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
root@paperless-ngx:/opt/paperless#

und nun?
 
Also ich habe das jetzt gemacht ohne das Update angestossen zu haben. Bin nach dem Fehler von heute morgen dann wieder mit Restore auf den Vortag zurück.
Das Updatedateskrip
Code:
UPDATE
ist auf dem Stand, was ich eben gepostet habe, also noch nicht gestartet gewesen. Nur zur Sicherheit, ich hoffe das ist korrekt so
 
Danke für die Rückmeldung und die Ausgabe.

Das war ein kleines Missverständnis: Du hast die Befehle auf dem Stand vor dem Update ausgeführt. Da ist logisch, dass alle Pakete schon als "bereits erfüllt" angezeigt werden, da sie für deine jetzige Version ja passen.

Um den echten Fehler zu finden, müssen wir das genau im fehlerhaften Zustand prüfen. Bitte mach mal Folgendes:
  1. Starte das Update-Skript und lass es wieder in den bekannten Fehler laufen.
  2. Wichtig: Danach kein Backup zurückspielen. Der Container muss in diesem "kaputten" Zustand bleiben.
  3. Führe jetzt in der Konsole genau die Befehle von vorhin aus:cd /opt/paperless-ngx/pip install -r requirements.txt
Die Ausgabe von dem zweiten Befehl wird jetzt anders aussehen und uns den wahren Fehler zeigen. Poste die dann einfach wieder hier.
 
  • Like
Reactions: pfaelzerbube
Code:
   ____                        __                                     
   / __ \____ _____  ___  _____/ /__  __________    ____  ____ __  __
  / /_/ / __ `/ __ \/ _ \/ ___/ / _ \/ ___/ ___/___/ __ \/ __ `/ |/_/
 / ____/ /_/ / /_/ /  __/ /  / /  __(__  |__  )___/ / / / /_/ />  < 
/_/    \__,_/ .___/\___/_/  /_/\___/____/____/   /_/ /_/\__, /_/|_| 
           /_/                                         /____/       
 
 ✓ Ghostscript updated to 10.04.0
 ✓ Stopped all Paperless-ngx Services
 \ Updating to v2.18.4   
[ERROR] in line 95: exit code 0: while executing command /usr/bin/python3 manage.py migrate &> /dev/null

root@paperless-ngx:/opt/paperless# pip install -r requirements.txt
Ignoring exceptiongroup: markers '(python_full_version < "3.11" and sys_platform == "darwin") or (python_full_version < "3.11" and sys_platform == "linux")' don't match your environment
Ignoring numpy: markers '(python_full_version < "3.11" and sys_platform == "darwin") or (python_full_version < "3.11" and sys_platform == "linux")' don't match your environment
Ignoring psycopg-c: markers 'python_full_version == "3.12.*" and platform_machine == "aarch64" and sys_platform == "linux"' don't match your environment
Ignoring psycopg-c: markers 'python_full_version == "3.12.*" and platform_machine == "x86_64" and sys_platform == "linux"' don't match your environment
Ignoring scipy: markers '(python_full_version < "3.11" and sys_platform == "darwin") or (python_full_version < "3.11" and sys_platform == "linux")' don't match your environment
Ignoring zxing-cpp: markers 'python_full_version == "3.12.*" and platform_machine == "aarch64" and sys_platform == "linux"' don't match your environment
Ignoring zxing-cpp: markers 'python_full_version == "3.12.*" and platform_machine == "x86_64" and sys_platform == "linux"' don't match your environment
Requirement already satisfied: amqp==5.3.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 3)) (5.3.1)
Requirement already satisfied: anyio==4.8.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 7)) (4.8.0)
Requirement already satisfied: asgiref==3.9.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 13)) (3.9.1)
Requirement already satisfied: async-timeout==5.0.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 22)) (5.0.1)
Requirement already satisfied: attrs==25.1.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 26)) (25.1.0)
Requirement already satisfied: babel==2.17.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 32)) (2.17.0)
Requirement already satisfied: billiard==4.2.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 36)) (4.2.1)
Requirement already satisfied: bleach==6.2.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 40)) (6.2.0)
Requirement already satisfied: brotli==1.1.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 44)) (1.1.0)
Requirement already satisfied: cached-property==2.0.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 101)) (2.0.1)
Requirement already satisfied: celery==5.5.3 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 105)) (5.5.3)
Requirement already satisfied: certifi==2025.8.3 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 112)) (2025.8.3)
Requirement already satisfied: cffi==1.17.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 119)) (1.17.1)
Requirement already satisfied: channels==4.3.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 162)) (4.3.1)
Requirement already satisfied: channels-redis==4.3.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 168)) (4.3.0)
Requirement already satisfied: charset-normalizer==3.4.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 172)) (3.4.1)
Requirement already satisfied: click==8.1.8 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 222)) (8.1.8)
Requirement already satisfied: click-didyoumean==0.3.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 232)) (0.3.1)
Requirement already satisfied: click-plugins==1.1.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 236)) (1.1.1)
Requirement already satisfied: click-repl==0.3.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 240)) (0.3.0)
Requirement already satisfied: concurrent-log-handler==0.9.28 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 244)) (0.9.28)
Requirement already satisfied: cryptography==44.0.3 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 248)) (44.0.3)
Requirement already satisfied: dateparser==1.2.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 284)) (1.2.2)
Requirement already satisfied: deprecated==1.2.18 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 288)) (1.2.18)
Requirement already satisfied: deprecation==2.1.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 292)) (2.1.0)
Requirement already satisfied: django==5.2.5 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 296)) (5.2.5)
Requirement already satisfied: django-allauth==65.4.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 317)) (65.4.1)
Requirement already satisfied: django-auditlog==3.2.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 320)) (3.2.1)
Requirement already satisfied: django-cachalot==2.8.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 324)) (2.8.0)
Requirement already satisfied: django-celery-results==2.6.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 328)) (2.6.0)
Requirement already satisfied: django-compression-middleware==0.5.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 332)) (0.5.0)
Requirement already satisfied: django-cors-headers==4.7.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 336)) (4.7.0)
Requirement already satisfied: django-extensions==4.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 340)) (4.1)
Requirement already satisfied: django-filter==25.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 344)) (25.1)
Requirement already satisfied: django-guardian==3.0.3 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 348)) (3.0.3)
Requirement already satisfied: django-multiselectfield==1.0.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 354)) (1.0.1)
Requirement already satisfied: django-soft-delete==1.0.19 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 358)) (1.0.19)
Requirement already satisfied: djangorestframework==3.16.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 362)) (3.16.1)
Requirement already satisfied: djangorestframework-guardian==0.4.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 369)) (0.4.0)
Requirement already satisfied: drf-spectacular==0.28.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 373)) (0.28.0)
Requirement already satisfied: drf-spectacular-sidecar==2025.8.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 377)) (2025.8.1)
Requirement already satisfied: drf-writable-nested==0.7.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 381)) (0.7.2)
Requirement already satisfied: fido2==1.2.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 388)) (1.2.0)
Requirement already satisfied: filelock==3.19.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 392)) (3.19.1)
Requirement already satisfied: flower==2.0.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 396)) (2.0.1)
Requirement already satisfied: gotenberg-client==0.11.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 400)) (0.11.0)
Requirement already satisfied: granian==2.5.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 404)) (2.5.1)
Requirement already satisfied: h11==0.16.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 480)) (0.16.0)
Requirement already satisfied: h2==4.2.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 484)) (4.2.0)
Requirement already satisfied: hiredis==3.2.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 488)) (3.2.1)
Requirement already satisfied: hpack==4.1.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 548)) (4.1.0)
Requirement already satisfied: httpcore==1.0.9 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 552)) (1.0.9)
Requirement already satisfied: httpx==0.28.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 556)) (0.28.1)
Requirement already satisfied: httpx-oauth==0.16.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 563)) (0.16.1)
Requirement already satisfied: humanize==4.12.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 567)) (4.12.1)
Requirement already satisfied: hyperframe==6.1.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 571)) (6.1.0)
Requirement already satisfied: idna==3.10 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 575)) (3.10)
Requirement already satisfied: imap-tools==1.11.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 582)) (1.11.0)
Requirement already satisfied: img2pdf==0.6.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 586)) (0.6.1)
Requirement already satisfied: inflection==0.5.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 589)) (0.5.1)
Requirement already satisfied: inotify-simple==1.3.5 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 593)) (1.3.5)
Requirement already satisfied: inotifyrecursive==0.3.5 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 596)) (0.3.5)
Requirement already satisfied: jinja2==3.1.6 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 600)) (3.1.6)
Requirement already satisfied: joblib==1.4.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 604)) (1.4.2)
Requirement already satisfied: jsonschema==4.23.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 610)) (4.23.0)
Requirement already satisfied: jsonschema-specifications==2024.10.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 614)) (2024.10.1)
Requirement already satisfied: kombu==5.5.4 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 618)) (5.5.4)
Requirement already satisfied: langdetect==1.0.9 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 622)) (1.0.9)
Requirement already satisfied: lxml==5.3.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 625)) (5.3.1)
Requirement already satisfied: markdown-it-py==3.0.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 693)) (3.0.0)
Requirement already satisfied: markupsafe==3.0.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 697)) (3.0.2)
Requirement already satisfied: mdurl==0.1.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 740)) (0.1.2)
Requirement already satisfied: msgpack==1.1.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 744)) (1.1.0)
Requirement already satisfied: mysqlclient==2.2.7 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 783)) (2.2.7)
Requirement already satisfied: nltk==3.9.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 786)) (3.9.1)
Requirement already satisfied: numpy==2.3.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 838)) (2.3.2)
Requirement already satisfied: oauthlib==3.2.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 897)) (3.2.2)
Requirement already satisfied: ocrmypdf==16.10.4 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 901)) (16.10.4)
Requirement already satisfied: packaging==24.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 905)) (24.2)
Requirement already satisfied: pathvalidate==3.3.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 913)) (3.3.1)
Requirement already satisfied: pdf2image==1.17.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 917)) (1.17.0)
Requirement already satisfied: pdfminer-six==20240706 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 921)) (20240706)
Requirement already satisfied: pi-heif==0.21.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 925)) (0.21.0)
Requirement already satisfied: pikepdf==9.5.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 956)) (9.5.2)
Requirement already satisfied: pillow==11.3.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 988)) (11.3.0)
Requirement already satisfied: pluggy==1.5.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1067)) (1.5.0)
.
.
.
.
Requirement already satisfied: wcwidth==0.2.13 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1713)) (0.2.13)
Requirement already satisfied: webencodings==0.5.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1717)) (0.5.1)
Requirement already satisfied: whitenoise==6.9.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1721)) (6.9.0)
Requirement already satisfied: whoosh-reloaded==2.7.5 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1725)) (2.7.5)
Requirement already satisfied: wrapt==1.17.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1729)) (1.17.2)
Requirement already satisfied: zstandard==0.23.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1778)) (0.23.0)
Requirement already satisfied: zxing-cpp==2.3.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 1837)) (2.3.0)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
root@paperless-ngx:/opt/paperless#
 
Schau mal auf die neue Fehlermeldung vom Skript:[ERROR] in line 95: exit code 0: while executing command /usr/bin/python3 manage.py migrate &> /dev/null

Der Fehler liegt nicht mehr beim Installieren der Pakete (pip install), sondern jetzt beim Datenbank-Update (manage.py migrate). Das heißt, die Abhängigkeiten sind jetzt alle korrekt, aber die Datenbank kann nicht aktualisiert werden.

Bleib bitte in dem kaputten Zustand und führe in der Konsole diese beiden Befehle aus:cd /opt/paperless-ngx/srcpython3 manage.py migrate
 
  • Like
Reactions: pfaelzerbube