staging.inyokaproject.org

Installieren von Komponnten/Libraries in paperless-Container

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

drnicolas

Anmeldungsdatum:
31. Oktober 2010

Beiträge: Zähle...

Ich habe mittlerweile ein paperless-System im Container zum Laufen gebracht.

Der Versuch von dort aus ein post-consume-script aufzurufen war/ist nicht ohne, läuft aber aktuell.

Das ist aber nur ein einfaches Test-Skript ohne Sinn.

Jetzt soll es daran gehen ein bestehendes recht umfangreiches Skript anzubinden.

Dazu müssen mit Sicherheit einige Pakete nachinstalliert und konfiguriert werden.

Wo finde ich gute Informationen/Wikis wie man sowas macht?

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

Du suchst „Dockerfile“

Gruß BillMaier

drnicolas

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2010

Beiträge: Zähle...

Ich muss nochmal nachhaken: ich habe den Tip mit dockerfile aufgegriffen.

Mein (sehr umfangreiches) Skript hat dann als Teil von paperless-ngx funktioniert.

Dann habe ich auf die neueste Version upgedatet; paperless ist jetzt aktuell, dafür klemmt mein Skript (Python) mit dem Hinweis, dass ein Modul pypaperless nicht gefunden werden konnte.

Mein dockerfile sieht so aus:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
FROM ghcr.io/paperless-ngx/paperless-ngx:latest
RUN apt-get update && apt-get install -y --no-install-recommends alien libaio1 wget && \
    wget http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm && \
    wget http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.6-sqlplus-19.6.0.0.0-1.x86_64.rpm && \
    alien -i oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm && \
    alien -i oracle-instantclient19.6-sqlplus-19.6.0.0.0-1.x86_64.rpm
    pip3 install oracledb --upgrade
    pip3 install PyPDF2 -- upgrade
    pip3 install pypaperless --upgrade
    pip3 install python-dateutil

#  sudo alien -i --scripts oracle-instantclient*.rpm \
#    rm -f oracle-instantclient*.rpm  
ENV LD_LIBRARY_PATH="/usr/lib/oracle/19.6/client64/lib:${LD_LIBRARY_PATH}" 

Wie man sieht, soll vor allem der Oracle-Treiber geladen werden und dieses pypapaerless. Hintergrund ist, dass die in paperless archivierten Dokumente mit einer Oracle-DB abgeglichen werden und dann bestimmte Daten daraus in custom-fields eingetragen werden. Das übernimmt pypaperless.

Das Skript schlägt wegen fehlendem pypaperless-Modul fehl, das ist aber das erste was eingebunden wird. insofern kann ich nicht beurteilen ob auch die anderen Module betroffen sind.

Wenn ich das Skript mit testdaten in Visual Studio Code laufen lasse, dann geht alles. ich schätze VS Code startet das Skript nicht im Container.

1. Wie kann ich dieses Modul installieren? Es hat ja schon funktioniert, ich weiß nur nicht mehr wie ich das hingekriegt habe 2. Gibt es einen Weg, die Entwicklung des Skriptes über VS Code INNERHALB des Containers zu machen? Auch bisher habe ich immer wieder eigenartige nebeneffekte gehbat.

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17531

Hat es einen Grund warum es eine Oracle-DB sein muss? Ist im OSS Umfeld eine sehr seltene Kombination ein OSS Tool wie Paperless gemeinsam mit einer Oracle DB zu verwenden.

Entwicklung in Containern nennt man "Dev Container", das kann vscode wenn man die Docker Extension und Dev Containers installiert hat. ▶ Dev Container Dokumentation

Antworten |