Paperless-Ngx Umgang mit Leerseiten bei Duplex Scan

Moin,

löblich, aber aus meiner Sicht falsch, arbeite immer mit dem, was Du kennst, wenn Du Portainer lernst, dann bleibe dabei, wenn Du Synologie Container Manager nutzen willst, dann lerne das, spring aber nicht mal hierhin, dann dorthin, lerne eins, das aber richtig :wink:

Für Dich vielleicht, aber für die Dockerumgebung eben nicht!

Ich vermute, Du meinst das richtige, wenn Du Host = Synology meinst?
Die Sicherung der Daten geschieht unter Regie der Synology, zum einen einmal die Datensicherheit, durch ein RAID, solltest Du Deine Synology so konfiguriert haben, ein Backup ersetzt das aber nicht.
Wenn Du davon ausgehst, dass Du den Docker Container einfach sicherst, dann sicherst Du nur leere Verzeichnisse, denn von der reinen Lehre, ist ein Docker Container Stateless, hat also keine eigenen Daten, sondern nur z. B. ein ENV File und / oder compose.yml und kann damit schnell wieder deployt werden sollte mal etwas passieren, die eigentlichen Daten liegen dann, in Deinem Fall, auf der Synology.

Das ist jetzt die Synology?
Da hast Du mich dann falsch verstanden, es gibt im Container Manager für den erstellten Container, eine Konsole, mit der Du in den Container kommst.

Daher bekommst Du auch diese Fehler, wenn Du in der Synology auf der Konsole bist, dann liegen die daten unter /volume1/docker/paperless-ngx/...

Alles, was danach von Dir geschrieben wurde, Du vermischst da zwei Dinge die Ordner auf der Synology und die Docker Umgebung, also den Container, ein Docker Container ist ein eigener kleiner PC ohne Hardware, aber mit eigener Verzeichnisstruktur, an die kommst Du nur, wenn Du Dich in den Container einloggst.

Oh, jetzt kommt auch noch KI zum Einsatz, da habe ich ja noch mehr Angst, denn wenn Du Deine Dockerumgebung nicht im Griff hast, glaubst Du dann hilft KI?
Ja, das ist ja auch paperless, und hat nichts mit Deinem User auf der Synology zu tun.

Ich werde wohl nicht darum herumkommen, Dein compose.yml mal auf meine nicht mehr benutzte Synology loszulassen, damit ich sehe, wo bei Dir das Problem ist.

VG
Bernd

Edit @bigd1982
So ich habe mal das ganze, im Container Manager nachvollzogen, dabei ist mir erst einmal folgendes aufgefallen,

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:2.14.7

Mit dieser Einstellung bekommst Du keine Updates, es wird immer die Version 2.14.7 genutzt, wenn Du up2date bleiben willst, dann könnte man das so machen

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest

Aktuell ist die Version 2.15.x, dann könnte man das auch so nutzen

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:2.15

So dann mal an die anderen Sachen







Da ich keine Dokumente habe, die ich in dieser Umgebung einlese, kommt beim Aufruf folgender Fehler

Wenn das jetzt aus paperless heraus laufen soll, dann müsste es korrekterweise so eingetragen werden, ich habe das im ENV File eingetragen,

docker-compose.env

USERMAP_UID=1026
USERMAP_GID=100
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_SECRET_KEY=MySecret-2025
PAPERLESS_ADMIN_USER=admin
PAPERLESS_ADMIN_PASSWORD=daadmin
PAPERLESS_DBNAME=paperlessdb
PAPERLESS_DBUSER=dbuser01
PAPERLESS_DBPASS=dbpassword
#PAPERLESS_URL=https://paperless.example.com
PAPERLESS_PRE_CONSUME_SCRIPT=/usr/src/paperless/scripts/pre-consume.sh

Oder wenn Du es im docker-compose.yml machen möchtest

    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

Für mich hat sich das so angehört, dass Du mit Portainer mehr Erfahrung hast.

Noch ein Edit
P.P.S.: ich würde die Scripte auch mit vollqualifiziertem Pfad angeben, also im pre-consume.sh

#!/bin/sh
set -x

# Remove blank pages
/usr/src/paperless/scripts/remove_blank_pages.sh

Hallo Bernd,

Nun letztlich mache ich nicht so viel mit Docker. Daher hielt ich es auch für sinnvoll, mit den Boardmitteln zu arbeiten. Und da es hierfür auch die passende Anleitung gab, habe ich mich hierfür entschieden.
Bei Portainer müsste ich ja erstmal schauen, wie ich das auf die Synology aufspiele, dann Anleitung anpassen etc.

Dass es der Umgebung nicht egal ist, wo welcher Ordner liegt, ist mir schon klar. Ich wollte damit sagen, dass ich es aus Gründen der Ordnung im Dockerordner beim Projekt sehe. Für mich wäre es aber im Prinzip egal, wo ich es auf den Host speichere.
Ja bei Host meine ich in dem Zusammenhand das DS923+. Es ist im SHR konfiguriert, mit einer Platte Ausfallsicherheit. Die meisten relevanten Daten habe ich auch auf dem Client als Synchronisation.
Zudem gibt es einen Backupjob (seit DSM 7.2) als vollständiges System auf ein weiteres NAS. Davor Ordner und Pakete separat. Und die wichtigsten Daten gehen dann noch mal auf ein extra Medium.

Jep so wäre es geplant, dass alles (yml, env und Daten) in einem Projekt sind. So kann ich vorausgesetzt das System ist offline von der Theorie her kopieren. Hier steht aber noch Beschäftigung an. Startet derzeit auch erst mit Paperless.
Bevor ich es voll einsetze, spiele ich aber noch HDD Crash und stelle alles aus dem Backup wieder her. Halt mit 10 Dokumenten oder so.

Ja, die Synology hat die 192.168.168.11. Wie gesagt mangels wissen habe ich zunächst per Konsole auf dem Host nach Script gesucht.
Habe es aber wie geschrieben später gefunden.

  • Sprich per SSH auf die Synology. → ssh daniel@192.168.168.11
  • Hier die Docker ID ausgelesen → sudo docker ps -a
  • Auf Docker aufgeschaltet → sudo docker exec -it 67ddd4ca6dc2 /bin/bash
  • Ordner Scripts/ und /usr/scr/paperless/scripts/ mit Berechtigungen aufgelistet → ls -la /usr/src/paperless/scripts/

Ergebnis Scripts mit den *.sh ist auf dem Host & im Docker im angegebenen Ordner.
Habe nun auch noch mal das “:ro” entfernt, nicht das er, was im Ordner schreiben muss und es deswegen nicht geht. Auch im pre-consume.sh habe ich den absoluten Pfad zum remove-blank-pages.sh mit /usr/src/paperless/scripts/remove-blank-pages.sh angegeben.
So weit kommt er gemäß Meldung aber nicht.

Die KI habe ich als Ideengeber genutzt. Bis dato ist die Dockerumgebung ja nur ein Spielzeug. Wobei es hier ja viele interessante Möglichkeiten gibt. Daher beschäftige ich mich ja derzeit damit.
Und da das NAS eh läuft, macht die halt am meisten Sinn. Und letztlich muss jeder mal anfangen. Stand jetzt ist es ja auch nicht schlimm, wenn ich es kaputt mache. Neu deployen und gut ist.
IT technisch habe ich schon meiner Erfahrungen. Linux und eben Docker, aber nur als interessierter Einsteiger.

Könnte ich prüfen, ob die Berechtigungen stimmen? Paperless wird ja über die UID 1026 ausgeführt (mein Benutzer) im Docker selbst scheint aber der Root (1000) verwendet zu werden. Wobei beide Admin Berechtigungen haben.
Und laut Auflistung die Dateien (*.SH) auch beide zu lesen und auszuführen sind (auf dem Hoste oder im Docker). Zumindest so weit ich es verstehe.

Theoretisch könnte ich das ganze auch neu aufbauen. Bin halt nur noch Anfänger. Falls dies einfacher ist.
Ziel ist ja oben beschrieben und ob es nun paperless oder paperless-ngx heißt, die yml und env nochmal in einem config-Ordner sind ist für mich egal.

Über Ansatzpunkte würde ich mich weiter freuen. Wobei Skript lassen neuen Scanner kaufen oder beim Scannen halt entsprechend wählen ob Duplex genutzt werden soll sicher Lösungen wären.
Ich würde es aber gern ohne diese Einschränkung lösen.

Hallo Bernd,
hier gab es wohl noch eine Überschneidung. Hatte anfangs nur 50 % der Nachricht gesehen. Wie geschrieben bin ich über die SSH Sitzung auf die bash der Console gekommen. Dass es auch einfach über die Oberfläche geht war mir nicht klar. Liefert aber im Prinzip das gleiche Ergebnis:

root@344ff74f8d0f:/usr/src/paperless/src# ls -la ..//                            
total 4                                                                          
drwxr-xr-x 1 paperless  1000  120 Apr 17 13:30 .                                 
drwxr-xr-x 1 root      root    18 Jan 31 15:59 ..                                
drwx------ 1 paperless  1000    0 Jan 31 16:01 .gnupg                            
drwxr-xr-x 1 paperless users   30 Apr 17 13:31 consume                           
drwxr-xr-x 1 paperless users  170 Apr 17 13:31 data                              
drwxr-xr-x 1 paperless users    0 Apr 16 09:20 export                            
-rw-r--r-- 1 paperless  1000 1351 Jan 31 15:58 gunicorn.conf.py                  
drwxr-xr-x 1 paperless users   38 Apr 17 13:31 media                             
drwxr-xr-x 1 paperless users   70 Apr 17 11:13 scripts                           
drwxr-xr-x 1 paperless  1000  250 Jan 31 15:58 src                               
drwxr-xr-x 1 paperless  1000  302 Jan 31 16:01 static                            

Skript hatte ich vorab schon angepasst. Sogar zur Sicherheit ohne :ro

    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
    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

Habe es nun zur Sicherheit in beiden Dateien eingetragen.
Auch den Path in der pre-consume.sh hatte ich schon angepasst, weil mir auch noch die Idee kam das dies ein Fehler werden könnt. Soweit kommt die Verarbeitung aber nicht.

Bezüglich Kenntnisse. IT (Windows, Netzwerk etc. ja) Linux / Docker interessierter Einsteiger. Funktionierte zuletzt leider immer noch nicht. Starte es nachher noch mal neu mit dem env Eintrag. Wobei es ja nur doppelt gemoppelt ist. Die ENV wird ja nur beim ersten Mal hergenommen oder nicht zum reroll. NA ja sicher ist sicher.

Hallo Bernd,

So bin derzeit zwar unterwegs Kind abholen. Gestartet hatte ich aber vorab noch mal.

Diesmal per vpn vom Handy. Sollte aber keinen Unterschied machen

Kommt leider immer noch der Fehler.

Handbuch-Elitex.pdf

Handbuch-Elitex.pdf: Error while executing pre-consume script: [Errno 2] No such file or directory: ‘/usr/src/paperless/scripts/pre-consume.sh’

Da die Daten definitiv da sind. Wie prüfe ich die Berechtigung? Sonst könnte ich später auch gern die einzelnen Daten zum Download bereitstellen. Gibt es hier ggf. Auch private Nachrichten.

Edit wegen der Version ist mit Absicht so gemacht, damit ich nicht in problemen bei den Abhängigkeiten komme. kann es aber mal mit :latest testen

edit2

Also habe jetzt mal Tabularasa gemacht. Sprich:

  • alle Container / Projekt und images gelöscht.
  • neues Projekt erstellt (Name ohne -nxg)
  • Struktur neu aufgebaut
  • einfache Passwörter drin gelassen
  • Pfade angepasst und -ngx entfernt
  • Step 1 überall :latest angegeben → Führt zu einem Startproblem
  • Nur paperless auf lastest
  • diesmal gleich mit dem Script erstellt
  • Lande im gleichen Problem. System startet Verarbeitung, meldet:
  • Scan_250417182114.pdf: Error while executing pre-consume script: [Errno 2] No such file or directory: ‘/usr/src/paperless/scripts/pre-consume.sh’
  • Habe es mit einer Druckertestseite getestet.

Host:

Daniel@ds923plus:/volume1/docker/paperless/scripts$ ls -la
total 8
drwxrwxrwx+ 1 Daniel users  70 Apr 17 16:43 .
drwxrwxrwx+ 1 Daniel users 144 Apr 17 16:45 ..
-rwxrwxrwx  1 Daniel users  91 Apr 17 16:41 pre-consume.sh
-rwxrwxrwx  1 Daniel users 728 Apr 17 16:41 remove-blank-pages.sh
Daniel@ds923plus:/volume1/docker/paperless/scripts$

Docker:

root@c8eea1103b34:/usr/src/paperless/src# cd /usr/src/paperless/scripts/         
root@c8eea1103b34:/usr/src/paperless/scripts# ls -la                             
total 8                                                                          
drwxr-xr-x 1 paperless users  70 Apr 17 14:43 .                                  
drwxr-xr-x 1 paperless  1000  88 Apr 17 15:20 ..                                 
-rwxrwxrwx 1 paperless users  91 Apr 17 14:41 pre-consume.sh                     
-rwxrwxrwx 1 paperless users 728 Apr 17 14:41 remove-blank-pages.sh              

docker-composer.yml

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

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    container_name: paperless-ngx
    restart: unless-stopped
    depends_on:
      - db
      - broker
      - gotenberg
      - tika
    ports:
      - "8888:8000"
    volumes:
      - /volume1/docker/paperless/data:/usr/src/paperless/data
      - /volume1/docker/paperless/media:/usr/src/paperless/media
      - /volume1/docker/paperless/export:/usr/src/paperless/export
      - /volume1/docker/paperless/consume:/usr/src/paperless/consume
      - /volume1/docker/paperless/scripts:/usr/src/paperless/scripts
    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

docker-compose.env

USERMAP_UID=1026
USERMAP_GID=100
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_SECRET_KEY=Paper2025
PAPERLESS_ADMIN_USER=admin
PAPERLESS_ADMIN_PASSWORD=admin
PAPERLESS_DBNAME=paperlessdb
PAPERLESS_DBUSER=admin
PAPERLESS_DBPASS=admin
#PAPERLESS_URL=https://paperless.example.com
PAPERLESS_PRE_CONSUME_SCRIPT=/usr/src/paperless/scripts/pre-consume.sh

pre-consum.sh

#!/bin/sh
set -x

# Remove blank pages
/usr/src/paperless/scripts/remove-blank-pages.sh

remove-blank-pages.sh → Wobei er nicht soweit kommt.

#!/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

Noch jemand ne Idee?

:crayon:by HarryP: Zusammenführung Mehrfachpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Moin,

ich starte noch mal den Container und lege mal eine Datei in den consume Ordner, mal schauen was da kommt.
Ich hatte das Skript pre-consume.sh ja nur mal so gestartet.

VG
Bernd

Edit 18:50 Uhr

P.S.: ich bin gerade in einen beliebten Fehler gelaufen, wenn man an der compose.yml, oder dem paperless.env File etwas ändert, muss man den Container auch neu deployen, ansonsten werden die Änderungen nicht übernommen
P.P.S.: ich habe jetzt mal zwei PDFs verarbeitet, das ging, bei mir ohne Probleme

Fehler vor dem Neuerstellen

2025-04-17 18:41:11,032] [INFO] [paperless.consumer] Consuming 2000-12-16 0_Sonstiges Paperless-NGX_20250408_111950_0001.pdf

[2025-04-17 18:41:11,038] [DEBUG] [paperless.consumer] Detected mime type: application/pdf

[2025-04-17 18:41:11,048] [ERROR] [paperless.consumer] Configured pre-consume script /usr/src/paperless/scripts/pre-consume.sh does not exist.

[2025-04-17 18:41:11,050] [ERROR] [paperless.tasks] ConsumeTaskPlugin failed: 2000-12-16 0_Sonstiges Paperless-NGX_20250408_111950_0001.pdf: Configured pre-consume script /usr/src/paperless/scripts/pre-consume.sh does not exist.

Traceback (most recent call last):

  File "/usr/src/paperless/src/documents/tasks.py", line 179, in consume_file

    msg = plugin.run()

          ^^^^^^^^^^^^

  File "/usr/src/paperless/src/documents/consumer.py", line 446, in run

    self.run_pre_consume_script()

  File "/usr/src/paperless/src/documents/consumer.py", line 246, in run_pre_consume_script

    self._fail(

  File "/usr/src/paperless/src/documents/consumer.py", line 152, in _fail

    raise ConsumerError(f"{self.filename}: {log_message or message}") from exception

documents.consumer.ConsumerError: 2000-12-16 0_Sonstiges Paperless-NGX_20250408_111950_0001.pdf: Configured pre-consume script /usr/src/paperless/scripts/pre-consume.sh does not exist.

Nach dem Neuerstellen

[2025-04-17 18:49:47,528] [INFO] [paperless.consumer] Consuming 2000-12-16 0_Sonstiges Paperless-NGX_20250408_111950_0001.pdf

[2025-04-17 18:49:47,535] [DEBUG] [paperless.consumer] Detected mime type: application/pdf

[2025-04-17 18:49:47,536] [INFO] [paperless.consumer] Executing pre-consume script /usr/src/paperless/scripts/pre_consume.sh

[2025-04-17 18:49:49,294] [INFO] [paperless.consumer] /usr/src/paperless/scripts/pre_consume.sh exited 0

[2025-04-17 18:49:49,295] [INFO] [paperless.consumer] /usr/src/paperless/scripts/pre_consume.sh stderr:

[2025-04-17 18:49:49,296] [WARNING] [paperless.consumer] + ../scripts/remove_blank_pages.sh

[2025-04-17 18:49:49,331] [DEBUG] [paperless.consumer] Parser: RasterisedDocumentParser

[2025-04-17 18:49:49,342] [DEBUG] [paperless.consumer] Parsing 2000-12-16 0_Sonstiges Paperless-NGX_20250408_111950_0001.pdf...

[2025-04-17 18:49:49,436] [INFO] [paperless.parsing.tesseract] pdftotext exited 0

[2025-04-17 18:49:50,657] [DEBUG] [paperless.parsing.tesseract] Calling OCRmyPDF with args: {'input_file': PosixPath('/tmp/paperless/paperless-ngx6vsz55wl/2000-12-16 0_Sonstiges Paperless-NGX_20250408_111950_0001.pdf'), 'output_file': PosixPath('/tmp/paperless/paperless-xxs5lthn/archive.pdf'), 'use_threads': True, 'jobs': 4, 'language': 'deu+eng', 'output_type': 'pdfa', 'progress_bar': False, 'color_conversion_strategy': 'RGB', 'skip_text': True, 'clean': True, 'deskew': True, 'rotate_pages': True, 'rotate_pages_threshold': 12.0, 'sidecar': PosixPath('/tmp/paperless/paperless-xxs5lthn/sidecar.txt')}

[2025-04-17 18:49:52,847] [INFO] [ocrmypdf._pipeline] skipping all processing on this page

[2025-04-17 18:49:52,858] [INFO] [ocrmypdf._pipelines.ocr] Postprocessing...

Hallo Bernd,
danke das du mich noch nicht aufgegeben hast. Neu deployen heißt im ssh

sudo docker-compose down
sudo docker-compose up -d

Zudem es nicht erklärt, warum es beim neu aufsetzten, zum gleichen Problem kommt.

Habe auch mal versucht beide Dateien auszuführen.
Vom Host

Daniel@ds923plus:/volume1/docker/paperless/scripts$ chmod +x ./*
Daniel@ds923plus:/volume1/docker/paperless/scripts$ ./pre-consume.sh
-sh: ./pre-consume.sh: /bin/sh^M: bad interpreter: No such file or directory
Daniel@ds923plus:/volume1/docker/paperless/scripts$ ./remove-blank-pages.sh
-sh: ./remove-blank-pages.sh: /bin/bash^M: bad interpreter: No such file or directory
Daniel@ds923plus:/volume1/docker/paperless/scripts$ ls -la
total 8
drwxrwxrwx+ 1 Daniel users  70 Apr 17 16:43 .
drwxrwxrwx+ 1 Daniel users 144 Apr 17 16:45 ..
-rwxrwxrwx  1 Daniel users  91 Apr 17 16:41 pre-consume.sh
-rwxrwxrwx  1 Daniel users 728 Apr 17 16:41 remove-blank-pages.sh
Daniel@ds923plus:/volume1/docker/paperless/scripts$

Vom Docker

                                                                                 
root@c8eea1103b34:/usr/src/paperless/scripts# cd /usr/src/paperless/scripts/     
root@c8eea1103b34:/usr/src/paperless/scripts# ls                                 
pre-consume.sh  remove-blank-pages.sh                                            
root@c8eea1103b34:/usr/src/paperless/scripts# ./pre-consume.sh                   
bash: ./pre-consume.sh: cannot execute: required file not found                  
root@c8eea1103b34:/usr/src/paperless/scripts# ./remove-blank-pages.sh            
bash: ./remove-blank-pages.sh: cannot execute: required file not found           
root@c8eea1103b34:/usr/src/paperless/scripts# ls -la                             
total 8                                                                          
drwxr-xr-x 1 paperless users  70 Apr 17 14:43 .                                  
drwxr-xr-x 1 paperless  1000  88 Apr 17 15:20 ..                                 
-rwxrwxrwx 1 paperless users  91 Apr 17 14:41 pre-consume.sh                     
-rwxrwxrwx 1 paperless users 728 Apr 17 14:41 remove-blank-pages.sh              

Seltsam finde ich das er meldet cannot execute.

Ne idee was es sein könnte oder wie ich hier evtl. Berechtigungen anpasse ? Wie gesagt hatte es von 0 Aufgesetzt

Moin,

hast Du die Skripte mit Windows erstellt?
Dann ist Dein Editor falsch eingestellt, den in Linux (UNIX) gibt es kein cariage/reture
Du musst Deinen Editor auf UNIX Zeilenende stellen und die Skripte neu erstellen.

VG
Bernd

P.S.: ok, ist nur ein ssh Anzeigeproblem
P.P.S.: also bei mir klappt das soweit

root@f47fdd5a4cbb:/usr/src/paperless/scripts# cat pre_consume.sh                 
#!/bin/sh                                                                        
set -x                                                                           
                                                                                 
# Remove blank pages                                                             
/usr/src/paperless/scripts/remove_blank_pages.sh                                 

root@f47fdd5a4cbb:/usr/src/paperless/scripts# ./pre_consume.sh                   
+ /usr/src/paperless/scripts/remove_blank_pages.sh                               
I/O Error: Couldn't open file '': No such file or directory.                     

root@f47fdd5a4cbb:/usr/src/paperless/scripts# ls -la                             
total 8                                                                          
drwxr-xr-x 1      1027 users  70 Apr 17 17:35 .                                  
drwxr-xr-x 1 paperless  1000  88 Apr 17 16:42 ..                                 
-rwxr-xr-x 1      1027 users  88 Apr 17 17:35 pre_consume.sh                     
-rwxr-xr-x 1      1027 users 703 Apr 17 12:36 remove_blank_pages.sh              

root@f47fdd5a4cbb:/usr/src/paperless/scripts# ./remove_blank_pages.sh            
I/O Error: Couldn't open file '': No such file or directory.                     
root@f47fdd5a4cbb:/usr/src/paperless/scripts#                                                                                                                 

Dass ich I/O Errors bekomme, liegt daran, dass es keine PDFs im consume Ordner gibt.
Achtung ich habe meine Skripte anders benannt, ich nutze immer Unterstriche, das ist aber nicht das Problem.

VG

Jep Scripte wurden in Notepad++ erstellt. Mit entsprechender Endung gespeichert und dann aufs NAS übertragen / mit chmod angepasst.

Über Terminal im Synology ausfeführt

root@c8eea1103b34:/usr/src/paperless/scripts# cat pre-consume.sh                 
#!/bin/sh                                                                        
set -x                                                                           
                                                                                 
# Remove blank pages                                                             
/usr/src/paperless/scripts/remove-blank-pages.shroot@c8eea1103b34:/usr/src/paperl
ess/scripts# ./pre-consume.sh                                                    
bash: ./pre-consume.sh: cannot execute: required file not found                  
root@c8eea1103b34:/usr/src/paperless/scripts# ls -la                             
total 8                                                                          
drwxr-xr-x 1 paperless users  70 Apr 17 14:43 .                                  
drwxr-xr-x 1 paperless  1000  88 Apr 17 15:20 ..                                 
-rwxrwxrwx 1 paperless users  91 Apr 17 14:41 pre-consume.sh                     
-rwxrwxrwx 1 paperless users 728 Apr 17 14:41 remove-blank-pages.sh              

Muss der Benutzer der in yml und env gewählt wird (für Docker) auf der Synology angelegt sein?
Kann es ein Berechtigungsproblem sein?
Passte das so mit

sudo docker-compose down
sudo docker-compose up -d

Gibt es eine andere Idee, wie ich es aufsetzen kann? Wie gesagt bin aktuell noch am Spielen, kann also immer neu starten. Mich wurmt es, das ich nicht weiß, was das Problem ist.

Moin,

wieso ist da kein cariage drin`
Müsste so aussehen

# Remove blank pages                                                             
/usr/src/paperless/scripts/remove-blank-pages.sh

root@c8eea1103b34:/usr/src/paperless/scripts# ./pre-consume.sh

kann ich nicht sagen, ich mache das über den Container Manager unter DMS.

Du solltest auch lieber mit dem Containermanager arbeiten.

Nop, das sind nur interne User für paperless-ngx, die haben nichts mit der Ausführung zu tun.

Ich bin dann aber für heute raus.

VG
Bernd

1 „Gefällt mir“

Ich setze einfach Stirling-pdf ein. Lläuft in einem separaten LXC unter Proxmox), Datei kurz aufgerufen und leere Seite gelöscht. Ist mir einfacher als alles automatische zumal immer die Gefahr besteht dass mehr als die leere Seite gelöscht wird wovon ich am Ende auch nix haben
Stirling pdf ist echt super !

Hallo zusammen,
habe das Rätsel Lösung gefunden. Danke Bernd für die Hilfe und den Hinweis. Problem war wohl tatsächlich die Erstellung der Scripte in Notepad++. Ich habe die Scripte nochmal direkt über den Editor in der Diskstation erstellt. Diesmal auch mit “_”. Nach dem chmod hat er die Dokumente dann verarbeitet. Bzw. wie Bernd hier auch sagte er weiß nicht ob es reicht.

sudo docker-compose down
sudo docker-compose up -d

Es reichte bei mir zumindest nicht. Nach dem Anpassen habe ich immer noch den Fehler gehabt. Habe aber anhand des Fehlers gesehen, dass er noch die alte Datei verwendet hat. Bin mal gespannt, ob ich auf noch weitere Fehler treffe.
Möchte mich auf jeden Fall für die Hilfe und dem damit verbundene lernen bedanken.

Weiß jemand wie man NAPS2 beibringt beim Speichern vom PDF sich direkt mit dem Share zu verbinden. Oder muss man das immer erst manuell über den PC machen?

Moin,

welches Betriebssystem?
In jedem mir bekannten, kann man den consume Ordner mounten und dann die Konfiguration von NAPS2 so einrichten, dass er den Mountpoint nimmt.

VG
Bernd

OSX über smb. Klar ich ich kann es direkt zu den Login items reinnehmen, gdann ist es immer da. Wollte ich eigentlich vermeiden, wenn möglich. Dachte es geht vielleicht on demand auch direkt vom Programm

Moin,

dann schreib Dir ein kleines Skript, das Du z. B. my_scann.sh nennst. Im Skript, schaust Du dann, ob das Share gemountet ist, wenn ja, dann starte NAPS2 mit der korrekten Konfiguration, wenn nein, dann mounte den Share und starte NAPS2.

Ich bin mir aber auch sicher, dass es eine Möglichkeit unter OSX gibt, um einen Share automatisch zu mounten und nach einiger Zeit, wenn kein Zugriff erfolgt, wieder auszuhängen.

VG
Bernd

Klar was eigenes schreiben geht immer. Ich dachte vielleicht geht es direkt über NAPS2, aber geht wohl nicht.

Moin,

Das ist nicht aufgab eines Programms, auf Deinem System ein Share einzuhängen, das ist die Aufgabe des Betriebssystems.

Du kannst auch in ein lokales Verzeichnis scannen und das dann mittels rsync mit dem consume Share synchronisieren, dann hast Du kein ständig gemountetes Share in Deinem OSX.

VG
Bernd

Wie definierst du wann was Aufgabe eines Programmes ist und wann nicht?

Aber egal is offtopic und ich habe meine Antwort.

Habe jetzt StirlingPDF installiert. Kann ich in meinen workflow bei der Verarbeitung eines Dkomuntes in Paperless einstellen, dass er zunächst mit Stirling die Leerseiten entfernt, und ggf. noch die Dateigröße reduziert? Zum Beispiel über einen Webhook bei Arbeitsabläufen?

Moin,

Das kann ich nicht mit Bestimmtheit sagen, wenn man damit die API von Stirling aufrufen kann,

Aber so tief stecke ich da auch nicht drin, zumal ich das Problem mit Leerseiten nicht habe, da meine verwendete Software die schon eliminiert.

Wenn ich mal viel Lust und Zeit habe, dann müsste ich mir die Arbeitsabläufe man anschauen, was da so alles geht.

VG
Bernd

Ich schau mir das mal an. Ich werde berichten. Bei Dir mach das ganze die Scannersoftware?!

Moin,

ja, ist naps2 und die sane Scannertreiber, hier mein

Avision duplex scanner

Brother Multi Drucker/Scanner


Beim Brother kann ich das auch am Gerät für den Einzug Scann einstellen, wenn ich aber Flachbett, also Glasplatte scanne, dann muss ich das ausschalten am Gerät

VG
Bernd