Paperless-Ngx Umgang mit Leerseiten bei Duplex Scan

Wenn ich einen Vollduplex Scan mache, habe ich immer Leerseiten (gibt keine Funktion im Drucker diese zu skippen) bei allen ungeraden Dokumente.

Wie geht ihr mit damit um?
a) Dokumente aufteilen nach Simplex und Duplex Scan?
b) Jemand das schon getestet? Option to remove blank pages when importing documents · paperless-ngx/paperless-ngx · Discussion #668 · GitHub
c)…?

So mache ich es - habe am Drucker zwei Schnellzugriff eingerichtet - einen mit “Scan in Paperless 1-seitig” und “Scan in Paperless 2-seitig”. Diesen wähle ich dann zum Scannen manuell aus.

Gruß, Lars

Löst aber das Problem nicht ganz wenn man 3 oder 5 Seiten Dokumente hat. Wie machst es da?

Mit NAPS2 am PC kann ich ein Haken setzen mit “exclude blank pages”.

Aber dann muss ich halt immer vom PC scannen (zwar auch direkt in den Netzwerkshare). Am Drucker direkt gibt es keine Einstellung.

Dann nehme ich die eine leere Seite am Ende in Kauf - spiegelt dann halt 1:1 das Originaldokument wieder, welches ja auch eine leere Seite hatte.

Platzprobleme habe ich keine, sodass mich diese eine Seite nicht stört. Zu einem Großteil schaue ich mir die archivierten Dokumente eher nicht mehr an & es dient “nur” dem Archiv.

Gruß, Lars

1 „Gefällt mir“

Okay muss ich mal drüber schlafen, welcher der bessere Kompromiss ist :wink:

Moin,

ich kann mich erinnern, dass Du mal ein Thread eingestellt hast in dem Du nach Scannern, gefragt hast, damals habe ich Dir gesagt schau nicht, was andere Nutzen, mach Dir eine Liste mit den Funktionen, die Wichtig für Dich sind :wink:

Welchen Scanner, Kombigerät, hast Du denn jetzt?
Ist der per USB, LAN/WLAN angebunden, mit welcher Scannsoftware arbeitest Du, kannst Du den Scanner damit ansteuern, denn die Software, die ich kenne, können Leerseiten überspringen!

Zu

  • a) wäre mir zu umständlich
  • b) kann man machen, kommt aber darauf an wie paperless-ngx eingerichtet ist, als Add-on, kann es Dir passieren, dass nach einem Update, nicht mehr funktioniert.
  • c) ich steuer meine Scanner mittels Software vom PC, die kann Leerseiten überspringen, und die PDFs landen auch gleich im consum Ordner, nach dem Scann.

Unter Windows kenne ich mit verfügbarer Software nicht aus, aber es gibt

VG
Bernd

Ich erinner mich dunkel, dass du den Sinn von dem Post nicht ganz verstanden hast oder wolltest :stuck_out_tongue:, aber auch egal.

Bisher habe ich keinen neuen gekauft sondern habe noch meinen alten Canon MB 5100 Series. Ich habe bisher keinen wirklich krassen Anlass oder mega fehlendes Feature gesehen den auszutauschen.

Ja siehe Antwort danach als Kompromiss, direkt vom Drucker wäre es schöner, aber die Software kann das wohl nicht direkt (können wohl recht wenige).
Aber ist dann halt ein Feature vom Treiber und nicht direkt vom Scanner.

Moin,

das ist nicht vom Scannertreiber abhängig, sondern von der Software, denn die nutz ein Algorithmus, anhand sie leere Seiten erkennt, das Gleiche mach das Skript, welches Du im paperless-ngx Container nutzen möchtest :wink:

VG
Bernd

P.S.:

die ich oben genannt habe, können das, ok liegt dann doch vielleicht am Treiber, wie gesagt, mit etwas anderem als Linux kenne ich mich nicht aus :man_shrugging:
P.P.S.: muss erst einmal der Scanner unterstützen, damit das die Software nutzen kann, wenn ich es richtig überflogen habe.
P.P.P.S.: sorry :pray:

Ja so ganz durchsichtig ist es für mich nicht, habe jetzt aber auch nicht 100h gesucht. Die Canon Software hat keine Einstellung, Air Print von Apple auch nicht. Dann nap2 gefunden, da gehts plötzlich.
Aber direkt am Drucker geschaut da geht es nicht bzw. gibt keine Einstellung.

Dann vermutlich auch über nap2 direkt in den consume Ordner.

Moin,

genau das, was ich oben geschrieben habe, da gibt es auch noch den andern, VuScan ist aber Löhnsoftware, ist aber noch etwas besser als NAPS2, aber auch wieder nicht so, dass sich die Kosten rechnen.

VG
Bernd

Korrekt war die Bestätigung hab ja geschrieben als Kompromiss wohl das beste (siehe Beitrag 3), wenn der Drucker(Software warum auch immer) es nicht direkt kann.

@MelleD

hast Du dieses Video zum Thema schon gesehen:

1 „Gefällt mir“

Nein bisher noch nicht. Danke schaue ich mal rein was es für Ideen gibt

EDIT:

Er macht es auch über ein Skript wie hier:

Ich hoffe ja, dass die Funktion vielleicht auch mal ohne customize Skript rein kommt :slight_smile:

Hallo zusammen,
vielleicht kann mir jemand verraten, wo mein Fehler ist. Ich nutze eine DS923+ habe hier Paperless-ngx per Container installiert. Läuft auch so weit. Nur kann mein Scanner keine leeren Seiten filtern.
Habe dann das Script gesehen Option to remove blank pages when importing documents · paperless-ngx/paperless-ngx · Discussion #668 · GitHub

Also scripts Ordner in paperless-ngx angelegt. (zuerst nur mit der remove-blank-pages.sh versucht) anschließend dann beide dateien angelegt und den Code kopiert.
Per ssh auf die DS und die Datein mit “sudo chmod 755 (Dateinamen)” ausführbar gemacht.

Anschließend

- ./scripts:/scripts:ro` bei volumes:` und PAPERLESS_PRE_CONSUME_SCRIPT=/scripts/pre-consume.sh` 

im environment block im docker-compose.yml eingefügt.

Sieht derzeit so aus:

   - ./scripts:/scripts:ro
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
      PAPERLESS_PRE_CONSUME_SCRIPT: ./scripts/pre-consume.sh

Beim Eintrag wie im Link “PAPERLESS_PRE_CONSUME_SCRIPT=/scripts/pre-consume.sh” erhalte ich gleich einen Fehler (Implicit map key need to be followed by map values), daher analog den anderen einträgen angepasst.

Scan_250417020932.pdf

Scan_250417020932.pdf: Configured pre-consume script ./scripts/pre-consume.sh does not exist.

Egal wie ich den Path an beiden stellen Eintrage ich bekomme immer den Fehler. Habe nun schon div. Kombinationen versucht. Auch nen Tipfehler hatte ich zwischendurch mal.

Strucktur liegt komplett unter

/volume1/docker/paperless-ngx/
-export
-scripts
-consume
-data
-db
-media
-redis

Auch schon alles gelöscht und nochmal von Anfang begonnen. Ist vermutlich nur ne kleinigkeit. Bezüglich Docker in der Konsole bin ich ein Anfänger bisher eher mit Portainer & Co nach Anleitungen vorgegangen.

Danke vorab. P.S. Das video von Cryd hilft hier leider nicht weil genau die Stelle wo mein Fehler zu sein scheint, sich von meinen Möglichkeiten unterscheidet.

Moin,

willkommen im Forum.

Da Du leider nicht das gesamte Compose.yml zeigst, vermute ich, dass da nicht der relative Pfad hineinmuss, sondern, der absolute Pfad, also

  - /volume1/docker/paperless-ngx/scripts;/scripts:ro

Ist aber nur eine Vermutung.

VG
Bernd

P.S.: Du kannst auch, wenn Dir das nicht zu umständlich ist, Dir auch Stirling als Docker installieren, das ist eine PDF Bearbeitungssuite, da kannst Du einiges mit den PDFs anstellen, unter anderem Leerseiten löschen

P.P.S.: Solltest Du das Verzeichnis im Docker Container direkt angelegt haben, dann gehört das nicht ins ENV, wird dir aber beim nachsten Update von paperless-ngx gelöscht, da es nicht zu Installation gehört, ich würde das außerhalb vom Docker Container anlegen!

Hallo zusammen,

Problem besteht leider auch noch nach der letzten Anpassung. Daher dachte ich mir, ich dokumentiere mal das gesamte vorgehen. Vielleicht findet sich so der Fehler leichter. Zudem ist es deine Dokumentation für mich und andere Dynolohy User können es nachmachen (ohne Fehler).

Meine Fehlermeldung lautet:
Scan_250417105027.pdf: Configured pre-consume script /volume1/docker/paperless-ngx/scripts/pre-consume.sh does not exist.

vorgegangen bin ich nach folgendem YT-Video: https://youtu.be/gBKIjcOZK_A?si=SjSS_AcO4RfCAu77

SSH aktiviert & ContainerManager installiert
Anschließend die die UserID (1026) und Group ID (100) mit dem Befehle ausgelesen

ssh "Benutzername"@"IP des NAS"
ID 

Auf dem NAS die Ordner erstellt

/volume1/docker/paperless-ngx/
-export
-scripts
-consume
-data
-db
-media
-redis

Im Ordner /volume1/docker/paperless-ngx/ folgende Dateien angelegt (CODE schon mit Seiten entfernen) Passwörter und Benutzer durch ***** ersetzt

docker-compose.env

USERMAP_UID=1026
USERMAP_GID=100
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_SECRET_KEY=********
PAPERLESS_ADMIN_USER==********
PAPERLESS_ADMIN_PASSWORD=********
PAPERLESS_DBNAME=paperlessdb
PAPERLESS_DBUSER=********
PAPERLESS_DBPASS=********
#PAPERLESS_URL=https://paperless.example.com

docker-compose.yml

services:
  broker:
    image: redis:7.4.2
    container_name: paperless-ngx-redis
    restart: unless-stopped
    volumes:
      - /volume1/docker/paperless-ngx/redis:/data
  db:
    image: postgres:17.4
    container_name: paperless-ngx-db
    restart: unless-stopped
    volumes:
      - /volume1/docker/paperless-ngx/db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperlessdb
      POSTGRES_USER: ********
      POSTGRES_PASSWORD: ********

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:2.14.7
    container_name: paperless-ngx
    restart: unless-stopped
    depends_on:
      - db
      - broker
      - gotenberg
      - tika
    ports:
      - "8888:8000"
    volumes:
      - /volume1/docker/paperless-ngx/data:/usr/src/paperless/data
      - /volume1/docker/paperless-ngx/media:/usr/src/paperless/media
      - /volume1/docker/paperless-ngx/export:/usr/src/paperless/export
      - /volume1/docker/paperless-ngx/consume:/usr/src/paperless/consume
      - /volume1/docker/paperless-ngx/scripts:/scripts:ro
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
      PAPERLESS_PRE_CONSUME_SCRIPT: /volume1/docker/paperless-ngx/scripts/pre-consume.sh
  gotenberg:
    image: docker.io/gotenberg/gotenberg:8
    container_name: paperless-ngx-gotenberg
    restart: unless-stopped

    # The gotenberg chromium route is used to convert .eml files. We do not
    # want to allow external content like tracking pixels or even javascript.
    command:
      - "gotenberg"
      - "--chromium-disable-javascript=true"
      - "--chromium-allow-list=file:///tmp/.*"

  tika:
    image: docker.io/apache/tika:2.9.2.1
    container_name: paperless-ngx-tika
    restart: unless-stopped

Anschließend habe ich den Teil zum entfernen leerer Seiter mit folgendem Code gefunden: Option to remove blank pages when importing documents · paperless-ngx/paperless-ngx · Discussion #668 · GitHub

Im Ordner /volume1/docker/paperless-ngx/scripts
folgende Dateien angeleg:

  • remove-blank-pages.sh
  • pre-consume.sh

Nochmal per SSH beide Datein ausführbar gemacht

sudo chmod 755 /volume1/docker/paperless-ngx/scripts/remove-blank-pages.sh
sudo chmod 755 /volume1/docker/paperless-ngx/scripts/pre-consume.sh

pre-consume.sh

#!/bin/sh
set -x

# Remove blank pages
/scripts/remove-blank-pages.sh

remove-blank-pages.sh

#!/bin/bash
set -e -o pipefail
export LC_ALL=C

#IN="$1"
IN="$DOCUMENT_WORKING_PATH"

PAGES=$(pdfinfo "$IN" | grep ^Pages: | tr -dc '0-9')
THRESHOLD=0.002

non_blank() {
  for i in $(seq 1 $PAGES) ; do
    PERCENT=$(gs -o -  -dFirstPage=${i} -dLastPage=${i} -sDEVICE=inkcov "${IN}" | grep CMYK | nawk 'BEGIN { sum=0; } {sum += $1 + $2 + $3 + $4;} END { printf "%.5f\n", sum } ')
    if awk "BEGIN { exit !($PERCENT > $THRESHOLD) }"; then
      echo $i
    else
      >&2 echo Color-sum is $PERCENT: will remove blank page $i of $IN
    fi
  done
}

NON_BLANK=$(non_blank)

if [ -n "$NON_BLANK" ]; then
  NON_BLANK=$(echo $NON_BLANK  | tr ' ' ",")
  qpdf "$IN" --replace-input --pages . $NON_BLANK --
fi

Ich vermute das ich hiermit ggf. bei nicht PDF noch einen Fehler erhalten, soweit bin ich bisher aber nicht gekommen.

Moin,

Das ist doch falsch!
Das sollte doch so aussehen, der Ordner /volume1/docker/paperless-ngx// ist nur auf der Synology bekannt, aber nicht im Docker

PAPERLESS_PRE_CONSUME_SCRIPT:/scripts/pre-consume.sh

Deswegen macht man doch genau das!

volumes:
      - /volume1/docker/paperless-ngx/data:/usr/src/paperless/data
      - /volume1/docker/paperless-ngx/media:/usr/src/paperless/media
      - /volume1/docker/paperless-ngx/export:/usr/src/paperless/export
      - /volume1/docker/paperless-ngx/consume:/usr/src/paperless/consume
      - /volume1/docker/paperless-ngx/scripts:/scripts:ro

Hier erfolgt die Zuordnung vom echten Verzeichnis auf der Synology, zum logischen Verzeichnis im Docker Container, also links vom : Synology, rechts Docker Container.

Ich verstehe aber Dein gesamtes compose.yml nicht einmal gibst Du ein ENV File an, dann stehen Environments im compose.yml

env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
      PAPERLESS_PRE_CONSUME_SCRIPT: /volume1/docker/paperless-ngx/scripts/pre-consume.sh

VG
Bernd

Hallo Bernd,

ja das ist die Problematik bei dingen die man nicht 100% selbst versteht und übernimmt. Wie gesagt bisher habe ich in Docker meist mit einer Gui (Portainer) gearbeitet und eine Anleitung gehabt füge hier die Variable ein füge hier den Path auf der NAS ein …
Im aktuellen Fall habe ich jedoch direkt ein Script gehabt und mich hier ran lang gehangelt. Daher auch beide Files vollständig mit Quelle.

Habe nun folgenden Fehler:

Scan_2504171011111.pdf: Error while executing pre-consume script: [Errno 2] No such file or directory: '/scripts/pre-consume.sh'

Angepasst habe ich (allerdings mit einem Leerzeichen (sonst bekomme ich einen Fehler)

PAPERLESS_PRE_CONSUME_SCRIPT: /scripts/pre-consume.sh 
volumes:
      - /volume1/docker/paperless-ngx/data:/usr/src/paperless/data
      - /volume1/docker/paperless-ngx/media:/usr/src/paperless/media
      - /volume1/docker/paperless-ngx/export:/usr/src/paperless/export
      - /volume1/docker/paperless-ngx/consume:/usr/src/paperless/consume
      - /volume1/docker/paperless-ngx/scripts:/scripts:ro
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
      PAPERLESS_PRE_CONSUME_SCRIPT: /scripts/pre-consume.sh
  gotenberg:

Sprich nochmal für Anfänger

unter volumes: gebe ich die verknüpfung der NAS & Docker oder an.
Sprich - NAS-Ordner:Docker-Ordner
Bsp.

  • /volume1/docker/paperless-ngx/scripts:/scripts:ro
  1. wofür steht dann das :ro ?
  2. Ich habe daten nur auf dem NAS im Ordner Docker angelegt, wie bekomme ich die Daten dann in den Dockercontainer?

Unter environment: gebe ich dann quasi die Variable mit die das Programm haben muss Sprich bei mir an der Stelle PAPERLESS_PRE_CONSUME_SCRIPT führe bitte folgende Datei aus. /scripts/pre-consume.sh

Moin,

und warum hast Du es dann nicht wieder über Portainer gemacht?

Aber anyway,

Du musst dann auch schauen, wo der Ordner im Docker Container eingehängt wird.
Da Du den Container veränderst, weiß der Container nicht, dass es einen Ordner /scripts gibt.
Ich kenne jetzt nicht alles, wie es dann bei Dir laufen wird, aber wenn Du im Container die Konsole öffnest, und pwd eingibst, dann solltest Du glaube ich im Verzeichnis /usr/src/paperless stehen, da sollten auch alle anderen Ordner sein, die Du oben angegeben hast, dort sollte dann auch der scrips Ordner angelegt werden

/volume1/docker/paperless-ngx/scripts:/usr/src/paperless/scripts:ro

Beim Deploye vom Container, sollte der auch erstellt werden, musst Du auf der Konsole kontrollieren

# ls -la scripts/
oder
# ls -la /usr/src/paperless/scripts/

das steht für Read Only, also alles was in diesem Ordner ist kann nur gelesen werden, der User im Container kann dort keine Skripte erstellen oder etwas hineinkopieren.

Genau so, in dem Du dem Container sagtst, wo er was findet, deswegen macht man die Zuordnung von NAS : Docker.
Wenn Du jetzt z. B. ein PDF in den Ordner consume legst, liegt das PDF physikalisch auf dem NAS, aber für paperless-ngxliegt es in/usr/src/paperless/consume/nach der Verarbeitung durchpaperless-ngxwird es nach/usr/src/paperless/data/…geschrieben, physikalisch, liegt es dann auber unter/volume1/docker/paperless/data/…/Für die Skripte, das gleiche, physikalisch, liegen die untervolume1/docker/paperless/scriptefürpaperless-ngxsieht es aber so aus, das sie unter/scripteliegen. Nur ich glaube das wird nicht angelegt, daher einfach mal nachschauen ob es das Verzeichnis überhaupt gibt. Ansonsten musst Du das Verzeichnis anlegen, ich würde es aber in das/usr/src/paperless/` Verzeichnis erstellen lassen und die Datei anpassen

PAPERLESS_PRE_CONSUME_SCRIPT: /usr/src/paperless/scripts/pre-consume.sh

VG
Bernd

HAllo Bernd,

danke erstmal für die Unterstützung. Anleitung bezog sich halt auf Container-Manager direkt. Und so wollte ich sicherstellen nicht irgendwo einen Fehler einzubauen.
Zudem will man sich ja auch weiterentwickeln und was lernen.

Für mich ist es letztlich egal wo der Scriptordner liegt. ICh ging davon aus, diesen auf dem Host mit ins Projekt zu legen, um eine Sicherung später einfacher zu haben.
Script habe ich wie gesagt einfach übernommen.

Zu dem Vorschlag. Container frisch gestartet
sudo docker-compose down
sudo docker-compose up -d
exit

neu angemeldet:
ssh daniel@192.168.168.11
Ich lande hier im Homeverzeichnis des Benutzers (Drive,Photos etc.)

Die Befehle liefern folgendes zurück: (auch nicht mit sudo)

ls -la scripts/
ls: cannot access 'scripts/': No such file or directory
ls -la /usr/src/paperless/scripts/
ls: cannot access '/usr/src/paperless/scripts/': No such file or directory

Ich würde hieraus schließen, dass es diesen nicht gibt oder dieser wo anderes liegt. auf dem Host finde ich folgendes.

Daniel@ds923plus:/volume1/docker$ cd /volume1/docker/paperless-ngx/
Daniel@ds923plus:/volume1/docker/paperless-ngx$ ls
consume  data  db  docker-compose.env  docker-compose.yml  duplex  export  media  redis  scripts
Daniel@ds923plus:/volume1/docker/paperless-ngx$ cd /volume1/docker/paperless-ngx/scripts/
Daniel@ds923plus:/volume1/docker/paperless-ngx/scripts$ ls
pre-consume.sh  remove-blank-pages.sh
Daniel@ds923plus:/volume1/docker/paperless-ngx/scripts$

Wenn ich wie vorgeschlagen nach /usr/scr suche findet er nichts.

Daniel@ds923plus:/volume1/docker/paperless-ngx/scripts$ cd /usr/
Daniel@ds923plus:/usr$ ls
bin  etc  include  lib  lib32  lib64  libexec  local  sbin  share  syno
Daniel@ds923plus:/usr$ cd /usr/scr
-sh: cd: /usr/scr: No such file or directory
Daniel@ds923plus:/usr$

Muss ich mich hier anderes verbinden? → Selbst gegoogelt (Ja) sudo docker ps -a

Daniel@ds923plus:~$ sudo docker exec -it 67ddd4ca6dc2 /bin/bash
root@67ddd4ca6dc2:/usr/src/paperless/src# ls
docker  documents  locale  manage.py  paperless  paperless_mail  paperless_tesseract  paperless_text  paperless_tika  requirements.txt  setup.cfg
root@67ddd4ca6dc2:/usr/src/paperless/src# ls -la scripts/
ls: cannot access 'scripts/': No such file or directory
root@67ddd4ca6dc2:/usr/src/paperless/src# ls -la /usr/src/paperless/scripts/
total 8
drwxr-xr-x 1 paperless users  70 Apr 17 01:10 .
drwxr-xr-x 1 paperless  1000 120 Apr 17 10:57 ..
-rwxr-xr-x 1 paperless users  73 Apr 17 01:09 pre-consume.sh
-rwxr-xr-x 1 paperless users 728 Apr 17 01:08 remove-blank-pages.sh
root@67ddd4ca6dc2:/usr/src/paperless/src#

So steht es jetzt auch im yml. Problem besteht weiter. Aber hey ich lerne einiges über die Funktionen im detail, was mir so nicht klar war.

Ich habe paralel mal ne KI als Sparingpartner genutzt und div. Dinge ausgelesen Vielleicht gibt das noch ansätze.

Demnach sieht es so aus, als ob die lese Berechtigungen richtig sind. Ausgabe Zeigt

-rwxr-xr-x 1 Daniel users 73 Apr 17 03:09 /volume1/docker/paperless-ngx/scripts/pre-consume.sh

Container laufen nach dem Start normal

sudo docker ps

CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                   PORTS                                       NAMES

83f27b314d77   ghcr.io/paperless-ngx/paperless-ngx:2.14.7   "/sbin/docker-entryp…"   10 minutes ago   Up 5 minutes (healthy)   0.0.0.0:8888->8000/tcp, :::8888->8000/tcp   paperless-ngx

847cedd2248f   postgres:17.4                                "docker-entrypoint.s…"   10 minutes ago   Up 5 minutes             5432/tcp                                    paperless-ngx-db

bdd2f0aad2c9   redis:7.4.2                                  "docker-entrypoint.s…"   10 minutes ago   Up 5 minutes             6379/tcp                                    paperless-ngx-redis

72ffe4b8de05   apache/tika:2.9.2.1                          "/bin/sh -c 'exec ja…"   10 minutes ago   Up 5 minutes             9998/tcp                                    paperless-ngx-tika

6384fa89353f   gotenberg/gotenberg:8                        "/usr/bin/tini -- go…"   10 minutes ago   Up 5 minutes             3000/tcp                                    paperless-ngx-gotenberg

56048d022c46   05f0258f226c                                 "sh -c 'while true; …"   11 days ago      Up 21 hours                                                          synology_docviewer_2

d0829b8553e3   05f0258f226c                                 "sh -c 'while true; …"   11 days ago      Up 21 hours                                                          synology_docviewer_1

Offenbar aber als root

/volume1/docker/paperless-ngx$ sudo docker exec -it paperless-ngx id
uid=0(root) gid=0(root) groups=0(root)

Wobei der Benutzer Daniel (1026) auch Admin berechtigungen hat.
Hatte auch zwichsenzeitlich den Besitz auf den root angepasst (aber wegen gleichem fehler wieder geändert)

sudo chown 1000 /volume1/docker/paperless-ngx/scripts/Name der schripte.sh

Die von der KI Vorgeschlagegene Befehler sagen aber Docker kenne keinen Daniel

/volume1/docker/paperless-ngx$ sudo docker exec -it paperless-ngx id -u Daniel
id: ‘Daniel’: no such user
:/volume1/docker/paperless-ngx$ sudo docker exec -it paperless-ngx id -g Daniel
id: ‘Daniel’: no such user

Auszug aus der envoirment

/volume1/docker/paperless-ngx$ sudo docker exec -it paperless-ngx env
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=83f27b314d77
TERM=xterm
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_TIKA_ENDPOINT=http://tika:9998
PAPERLESS_DBPASS=*****
PAPERLESS_ADMIN_USER=******
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_DBHOST=db
PAPERLESS_TIKA_ENABLED=1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://gotenberg:3000
PAPERLESS_PRE_CONSUME_SCRIPT=/scripts/pre-consume.sh
PAPERLESS_ADMIN_PASSWORD=*****
PAPERLESS_SECRET_KEY=**********
PAPERLESS_REDIS=redis://broker:6379
PAPERLESS_DBNAME=paperlessdb
USERMAP_GID=100
PAPERLESS_DBUSER=*******
USERMAP_UID=1026
LANG=C.UTF-8
GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
PYTHON_VERSION=3.12.8
PYTHON_SHA256=c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e
PYTHONDONTWRITEBYTECODE=1
PYTHONUNBUFFERED=1
PYTHONWARNINGS=ignore:::django.http.response:517
PNGX_CONTAINERIZED=1
HOME=/root

Kleine ergänzung hatte gesehen das in der Variable noch

PAPERLESS_PRE_CONSUME_SCRIPT: /scripts/pre-consume.sh

Stand. So zumindest auch die Fehlermeldung. Habe dies nun angepasst:

PAPERLESS_PRE_CONSUME_SCRIPT: /usr/src/paperless/scripts/pre-consume.sh

Erhalte aber immer noch den Fehler:
Scan_2504171011117.pdf: Error while executing pre-consume script: [Errno 2] No such file or directory: ‘/usr/src/paperless/scripts/pre-consume.sh’

Aktuelle YML

services:
  broker:
    image: redis:7.4.2
    container_name: paperless-ngx-redis
    restart: unless-stopped
    volumes:
      - /volume1/docker/paperless-ngx/redis:/data
  db:
    image: postgres:17.4
    container_name: paperless-ngx-db
    restart: unless-stopped
    volumes:
      - /volume1/docker/paperless-ngx/db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperlessdb
      POSTGRES_USER: *****
      POSTGRES_PASSWORD: *****

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:2.14.7
    container_name: paperless-ngx
    restart: unless-stopped
    depends_on:
      - db
      - broker
      - gotenberg
      - tika
    ports:
      - "8888:8000"
    volumes:
      - /volume1/docker/paperless-ngx/data:/usr/src/paperless/data
      - /volume1/docker/paperless-ngx/media:/usr/src/paperless/media
      - /volume1/docker/paperless-ngx/export:/usr/src/paperless/export
      - /volume1/docker/paperless-ngx/consume:/usr/src/paperless/consume
      - /volume1/docker/paperless-ngx/scripts:/usr/src/paperless/scripts:ro
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
      PAPERLESS_PRE_CONSUME_SCRIPT: /usr/src/paperless/scripts/pre-consume.sh
  gotenberg:
    image: docker.io/gotenberg/gotenberg:8
    container_name: paperless-ngx-gotenberg
    restart: unless-stopped

    # The gotenberg chromium route is used to convert .eml files. We do not
    # want to allow external content like tracking pixels or even javascript.
    command:
      - "gotenberg"
      - "--chromium-disable-javascript=true"
      - "--chromium-allow-list=file:///tmp/.*"

  tika:
    image: docker.io/apache/tika:2.9.2.1
    container_name: paperless-ngx-tika
    restart: unless-stopped