SubprocessOutputError: Ghostscript PDF/A rendering failed. See logs for more
Angeblich hilft {"continue_on_soft_render_error": true}
Das habe ich allerdings nicht erfolgreich umsetzen können.
Einen Workaround habe ich soeben ausprobiert.
Das entsprechenede Dokument war ein PDF einer Versicherung, welches ich zur inbox weitergeleitet hate.
Workaround war, das PDF drucken im Thunderbird als PDF drucken und an die Inbox weiterleteiten.
Das klappt prima.
Die Ursache sind mal wieder irgendwelche neuen Adobe Eskapaden.
Hier rennt Paperless-ngx 1.17.4 In der nächsten paperless-ngx Version wird es wahrscheinlich behoben sein.
Will sagen, wenn man mit einem Dokumentenscanner mehrere Blätter einscant, dann hält das paperless für ein Dokument.
Man kann aber eine Umgebungsvariable setzen, dass man Trennbätter benutzen will
PAPERLESS_CONSUMER_ENABLE_BARCODES = true
in docker-compose.env eintragen und restarten.
Und dieses Trennblatt benutzen, Ein anderes funtionierte bei mir nicht
patch-code-t.pdf
Vorher gerne mal gucken welche Version bisher läuft.
docker inspect paperless-webserver-1 |grep -i image.version
Oder in der Weboberfläche in linken unteren Ecke so:
oder Paperless-ngx 2.5.3 (Stand 17.02.2024)
Wenn am Tage des Upgrades bereits Dokumente eingescannt wurden, sind diese nicht mit im letzten Export.
Dann erst manuell einen Export durchführen.
su - admin -s /bin/bash -c /home/admin/paperless-ngx/backup_export.shich, wenn man die letzte Scan Session wiederholen muß.
Sollte das Upgrade nicht klappen, wäre es doch zu ärgerlich
admin@openmediavault:
~/paperless-ngx$ docker-compose stop
~/paperless-ngx$ docker-compose pull
~/paperless-ngx$ docker-compose up --detach
Beispiel vom start:
docker-compose up --detach
[+] Running 3/4
⠹ Network paperless_default Created 1.3s
✔ Container paperless-broker-1 Started 0.7s
✔ Container paperless-db-1 Started 0.7s
✔ Container paperless-webserver-1 Started
Nach ein paar Minuten kann man wieder mit paperless ,it der neuesten Version arbeiten.
Der gesammte Prozess kann länger dauern, scheinbar werden die geparsten Dokumete überarbeitet
**Stand 22.4.2024: Paperless-ngx 2.7.2 **
docker-compose pull
docker-compose up --force-recreate --build -d
Und schon hat man Paperless-ngx v2.6.2 Latest
Stand 22.4.2024: Paperless-ngx 2.7.2
Stand Mai 2024 Paperless-ngx 2.8.3
Stand 6.7.2024 Paperless-ngx 2.10.2
docker-compose pull
docker-compose up --force-recreate --build -d
ich habe bis heute einen täglichen export per Cronjob gemacht, um dann das zip file auf dem NAS in ein Verzeichnis zu kopieren, damit der export auf dem Raid liegt.
Nun habe ich die Volumes umgestellt, damit die auch direkt auf dem RAID liegen.
Ausgangsconfig
version: "3.4"
services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: docker.io/library/postgres:15
restart: unless-stopped
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- "8000:8000"
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- /home/admin/paperless-ngx/consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
volumes:
data:
media:
pgdata:
redisdata:
Ich verwende nun docker-compose
mkdir /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/pgdata
mkdir /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/data
mkdir /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/media
mkdir /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/export
mkdir /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/consume
docker-compose.yml
Die neue Config
version: "3.4"
services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: docker.io/library/postgres:15
restart: unless-stopped
volumes:
- /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- "8000:8000"
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/data:/usr/src/paperless/data
- /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/media:/usr/src/paperless/media
- /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/export:/usr/src/paperless/export
- /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
volumes:
data:
media:
pgdata:
redisdata:
docker-compose.env
PAPERLESS_URL=http://openmediavault.fritz.box
USERMAP_UID=998
USERMAP_GID=100
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_SECRET_KEY=GEHeiMistu1234rfvftzhgfdsertzztr345678765432-456fdfg
PAPERLESS_CONSUMER_ENABLE_BARCODES=true
continue_on_soft_render_error=true
PAPERLESS_AUTO_LOGIN_USERNAME="admin"
PAPERLESS_ADMIN_USER="admin"
PAPERLESS_ADMIN_PASSWORD="PASSWORD"
nun den Container mit docker-compose up -d neu pullen und starten
Den Export in den laufenden Container kopieren
docker cp export/. paperless-webserver-1:../export
Das dauert eine Weile.
Zum kontrollieren wo denn im Container denn nun dieser kopierte export gelandet ist
docker-compose exec -T webserver find / -name 'manifest.json'
Also /export, d.h. meine 2 .. waren überflüssig aber auch nicht störend
docker-compose exec -T webserver document_importer /export
Der alte export Job:
#!/bin/bash
# Einfaches Backup Script fuer paperless-ngx
PURGEAFTER="+30"
echo "cron-start $(date) " >>/home/admin/paperless-ngx/cronjob.log
cd /home/admin/paperless-ngx
# das -T heisst: kein pseudoterminal, sondern direkte Ausführung
docker-compose exec -T webserver document_exporter ../export -z
echo "cron-compose export rdy $(date) " >>/home/admin/paperless-ngx/cronjob.log
# rsync
cp -u /home/admin/paperless-ngx/export/* /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless-ngx_export/
#rsync /home/admin/paperless-ngx/export/ /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless-ngx_export/
#/srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless-ngx_export/
echo "cron-start cp rdy $(date) " >>/home/admin/paperless-ngx/cronjob.log
echo "cron-start purge old exports " >>/home/admin/paperless-ngx/cronjob.log
find export/ -type f -mtime $PURGEAFTER -exec rm {} \;
find /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless-ngx_export/ -type f -mtime $PURGEAFTER -exec rm {} \;
echo "cron-start purge old exports rdy" >>/home/admin/paperless-ngx/cronjob.log
Mit der neuen KOnfiguration der Volumes, sollte der Cronjob das kopieren des exports nicht mehr machen müssen.
Wird jetzt auskommentiert.
Neues backup-export.sh
#!/bin/bash
# Einfaches Backup Script fuer paperless-ngx
PURGEAFTER="+30"
echo "cron-start export $(date) " >>/home/admin/paperless-ngx/cronjob.log
cd /home/admin/paperless-ngx
# das -T heisst: kein pseudoterminal, sondern direkte Ausführung
docker-compose exec -T webserver document_exporter ../export -z
echo "cron-compose export rdy $(date) " >>/home/admin/paperless-ngx/cronjob.log
echo "cron-start purge old exports " >>/home/admin/paperless-ngx/cronjob.log
# kalkuliere
ZLOESCH=$(find /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/export/ -type f -mtime $PURGEAFTER -exec ls {} \;|wc -l)
ANZAHL=$(find /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/export/ -ls |wc -l)
echo "Zu löschende Dateien: $ZLOESCH von insgesammt $ANZAHL Dateien"
ZLOESCH=$((ZLOESCH - 5))
if [ $ANZAHL -lt $ZLOESCH ]
then
echo "Lösche $ZLOESCH ältere Exporte"
find /srv/dev-disk-by-uuid-4a5c8df2-cf08-4326-b79a-bc878185f222/paperless/export/ -type f -mtime $PURGEAFTER -exec rm {} \;
else
echo "cron-start Keine älteren Exporte zu löschen rdy" >>/home/admin/paperless-ngx/cronjob.log
fi