Error while converting email to PDF: Server error ‚503 Service Unavailable‘

Hallo Zusammen

Habe Paperless auf der Synology DS920+ mit 8 GB Ram gemäss der Materclass am laufen
es funktioniert alles super einfach zeitweise habe ich Probleme mit der Mail Verarbeitung über Gotenberg

leider habe ich noch keine konstante Lösung gefunden, bin Dankbar für jeden Tip

Grüsse Sascha

siehe Fehler

[2024-04-16 19:46:26,700] [ERROR] [paperless.consumer] Error occurred while consuming document Bestellung.eml: Error while converting email to PDF: Server error ‚503 Service Unavailable‘ for url ‚http://gotenberg:3000/forms/chromium/convert/html
For more information check: 503 Service Unavailable - HTTP | MDN
Traceback (most recent call last):
File „/usr/src/paperless/src/paperless_mail/parsers.py“, line 329, in generate_pdf_from_mail
.run()
^^^^^
File „/usr/local/lib/python3.11/site-packages/gotenberg_client/_base.py“, line 82, in run
resp.raise_for_status()
File „/usr/local/lib/python3.11/site-packages/httpx/_models.py“, line 761, in raise_for_status
raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Server error ‚503 Service Unavailable‘ for url ‚http://gotenberg:3000/forms/chromium/convert/html
For more information check: 503 Service Unavailable - HTTP | MDN
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File „/usr/local/lib/python3.11/site-packages/asgiref/sync.py“, line 327, in main_wrap
raise exc_info[1]
File „/usr/src/paperless/src/documents/consumer.py“, line 612, in try_consume_file
document_parser.parse(self.working_copy, mime_type, self.filename)
File „/usr/src/paperless/src/paperless_mail/parsers.py“, line 171, in parse
self.archive_path = self.generate_pdf(mail)
^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/src/paperless/src/paperless_mail/parsers.py“, line 211, in generate_pdf
mail_pdf_file = self.generate_pdf_from_mail(mail_message)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/src/paperless/src/paperless_mail/parsers.py“, line 332, in generate_pdf_from_mail
raise ParseError(
documents.parsers.ParseError: Error while converting email to PDF: Server error ‚503 Service Unavailable‘ for url ‚http://gotenberg:3000/forms/chromium/convert/html
For more information check: 503 Service Unavailable - HTTP | MDN

Das geht nur manchmal nicht oder abhängig vom Anhang ?

Sei so gut und poste deine komplette docker-compose.yml
Es gab schon mal ähnliches aufgrund eines falschen Kommas.

Kannst du von dem Zeitpunkt auch noch die Log von der Mailanfrage posten ?

Hallo Michael

Ja ich kann die gleiche Mail 3 mal verarbeiten und es geht 2 mal nicht und das 3 mal wird diese ohne Fehler konsumiert.

Ich habe auch die anderen Goteburg Versionen durchprobiert leider zeitweise immer wieder diesen Fehler

version: ‚3.6‘

networks:
internal:
external: false

services:
broker:
container_name: paperless-ngx-redis
image: redis:6.2
# Wenn man lieber 6.0 nutzen möchte
# image: redis:6.0
networks:
- internal
volumes:
# Hier den richtigen Pfad eintragen
- /volume1/paperless-ngx/redis:/redis
# - /volume2/paperless/redis:/redis
restart: unless-stopped

db:
container_name: paperless-ngx-db
image: postgres:14
# Wenn man lieber die 13 Version von PostgreSQL möchte
# image: postgres:13
# Nicht einfach up- oder downgraden, die Datenbank wird dann nicht mehr laden.
networks:
- internal
restart: unless-stopped
volumes:
# Hier den richtigen Pfad eintragen
- /volume1/paperless-ngx/db:/var/lib/postgresql/data
# - /volume2/paperless/db:/var/lib/postgresql/data
environment:
POSTGRES_DB: **********
POSTGRES_USER: ************
# Hier ein anderes Passwort verwenden
POSTGRES_PASSWORD: ************

webserver:
container_name: paperless-ngx
image: Package paperless-ngx · GitHub
networks:
# Wenn sich der Proxy Manager auf der Synology befindet, sollte hier zusätzlich das Netzwerk davon eingetragen werden, statt einen Port freizugeben.
- internal
restart: unless-stopped
depends_on:
- db
- broker
ports:
# Diesen Teil löschen, wenn der Proxy Manager auf der Synology ist.
# Ansonsten hier einen Port auswählen, der frei ist.
- 8010:8000
# - 8011:8000
# - 8012:8000
healthcheck:
test: [‚CMD‘, ‚curl‘, ‚-f‘, ‚http://localhost:8000‘]
interval: 30s
timeout: 10s
retries: 5
volumes:
# Hier die richtigen Pfade eintragen
- /volume1/paperless-ngx/data:/usr/src/paperless/data
- /volume1/paperless-ngx/media:/usr/src/paperless/media
- /volume1/paperless-ngx/export:/usr/src/paperless/export
- /volume1/paperless-ngx/paperless-inbox:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBPASS: ************ # Das ist das Passwort von oben
USERMAP_UID: ************ # UserID für den docker Benutzer
USERMAP_GID: ************ # GruppenID für den docker Benutzer
PAPERLESS_OCR_LANGUAGES: eng deu
# Hier einen zufälligen Key eintragen, wenn man Paperless von Außen erreichbar machen möchte.
PAPERLESS_SECRET_KEY: ************
# Hier die eigene Domain hinter localhost eintragen, wenn man einen Proxy Host benutzt, ansonsten diese Umgebungsvariable löschen.
PAPERLESS_TIME_ZONE: Europe/Zurich
PAPERLESS_OCR_LANGUAGE: deu
# Test iFrame
PAPERLESS_DEBUG: true
# Hier anpassen, wenn man eine andere Ordnerstruktur haben möchte
PAPERLESS_FILENAME_FORMAT: ‚{created_year}/{correspondent}/{title}‘
# Die nächsten drei Zeilen weglassen, wenn man Tika/Gotenberg nicht einsetzen möchte.
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
# Die nächste Zeile setzen, wenn man einen Proxy Server benutzt.
PAPERLESS_URL: ************
PAPERLESS_EMAIL_TASK_CRON: ‚*/2 * * * *‘
PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS: false
PAPERLESS_CONSUMER_RECURSIVE: true
PAPERLESS_OCR_USER_ARGS: ‚{„invalidate_digital_signatures“: true}‘

db-backup:
container_name: paperless-ngx-db-backup
# Das Image ggf. an das obere anpassen
image: postgres:14
volumes:
# Hier den richtigen Pfad eintragen
- /volume1/paperless-ngx/db-backup:/dump
- /etc/localtime:/etc/localtime:ro
environment:
PGHOST: db
PGDATABASE: paperless
PGUSER: paperless
PGPASSWORD: ************ # Das ist das Passwort von oben
BACKUP_NUM_KEEP: 10
BACKUP_FREQUENCY: 7d # Alle 7 Tage, kann man anpassen
entrypoint: |
bash -c ‚bash -s <<EOF
trap „break;exit“ SIGHUP SIGINT SIGTERM
sleep 2m
while /bin/true; do
pg_dump -Fc > /dump/dump_`date +%d-%m-%Y""%H%M_%S`.psql
(ls -t /dump/dump*.psql|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.psql)|sort|uniq -u|xargs rm – {}
sleep $$BACKUP_FREQUENCY
done
EOF‘
networks:
- internal

Diesen Part weglassen, wenn man keine Umwandlung von Office-Dokumenten, Mails haben möchte.

gotenberg:
container_name: paperless-ngx-gotenberg
image: docker.io/gotenberg/gotenberg:8.4.0
restart: unless-stopped
environment:
CHROMIUM_DISABLE_ROUTES: 1

command:
  - "gotenberg"
  - "--chromium-disable-javascript=true"
  - "--chromium-allow-list=file:///tmp/.*"
  - "--api-timeout=300s"


  
networks:
  - internal

tika:
container_name: paperless-ngx-tika
image: apache/tika:latest
restart: unless-stopped
networks:
- internal

LOG

Edit Stefan: Log gekürzt. Hier waren E-Mail-Adressen usw. sichtbar. Bitte sehr vorsichtig damit umgehen.

Error while converting document to PDF: Server error '503 Service Unavailable' for url 'http://gotenberg:3000/forms/chromium/convert/html'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503

Hallo Sascha,

könntest du die Logs und Konfiguration bitte in Code-Blöcke setzen, sonst wird es extrem unleserlich. Die Code-Blöcke findest du hinter dem Symbol </>.

Die Konfiguration sieht allerdings gar nicht nach der aus, die du in der Masterclass findest, hast du es schon mit genau der aus der Masterclass versucht?

1 „Gefällt mir“

Auch wenn ich nicht viel erkennen kann aber das ist definitiv nichts aus der Masterclass oder dem Shop ^^

Mach doch bitte mal nen:

Sudo docker-compose ps

Und teil die Ausgaben i der Codebox.
Hast du noch anderes in Docker laufen ?

Guck dir mal meine Config von meiner DS918+ an.

Ich han dort auch höhere Versionen im Einsatz und Stefans Config quasi aktualisiert.

Hallo Stefan und Michael

Ok Danke für eure Hilfe, werde paperless noch mal gemäss Masterclass auf dem NAS zuhause installieren und wenn das funktioniert kann ich es auch auf der 920+ im Büro so installieren und die Dokumente mit dem Exporter/importer wieder reinziehen oder ?

Export und Import am besten mit der gleichen Version durchführen.
Entweder vorher paperless updaten via Pull request oder explizit in der Config die derzeitige Version anfordern lassen.

Hallo Zusammen

Habe jetzt das ganze mal auf der NAS 920+ im Büro nach der Masterclass installiert, Dokumente exportiert und importiert funktioniert alles bestens

leider das gleiche es funktioniert 3 mal nicht und das 4 mal wird die mail korrekt konsumiert, was könnte ich noch versuchen ?

2024-04-17 17:48:36,319] [ERROR] [paperless.consumer] Error occurred while consuming document Anpassungen Website.eml: Error while converting email to PDF: Server error '503 Service Unavailable' for url 'http://gotenberg:3000/forms/chromium/convert/html'

Danke und ein schöner Abend

Firewall aktiv ?
Wenn ja entweder Ports freigeben oder einfach deaktivieren…

Hallo Michael

du meinst die vom NAS , dann würde es doch gar nicht gehen, aber es ist so das es manchmal mit 5 mails geht und danach geht es wieder nicht und wenn ich die gleiche mail mehrmals versuche die plötzlich auch geht

Ja schon seltsam…

Gib mal doch mal bitte „sudo docker-compose ps“ ein und Teil die ausgabe in der Codebox.

NAME                    IMAGE                                        COMMAND                  SERVICE             CREATED             STATUS                   PORTS
paperless-broker-1      docker.io/library/redis:7                    "docker-entrypoint.s…"   broker              4 minutes ago       Up 4 minutes             6379/tcp
paperless-db-1          docker.io/library/postgres:16                "docker-entrypoint.s…"   db                  4 minutes ago       Up 4 minutes             5432/tcp
paperless-gotenberg-1   docker.io/gotenberg/gotenberg:8.0.3          "/usr/bin/tini -- go…"   gotenberg           4 minutes ago       Up 4 minutes             3000/tcp
paperless-tika-1        ghcr.io/paperless-ngx/tika:latest            "/bin/sh -c 'exec ja…"   tika                4 minutes ago       Up 4 minutes             9998/tcp
paperless-webserver-1   ghcr.io/paperless-ngx/paperless-ngx:latest   "/sbin/docker-entryp…"   webserver           4 minutes ago       Up 4 minutes (healthy)   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp

Heute wurden 20 Mail ohne Fehler verarbeitet und ich hatte schon gedacht jetzt funktioniert es … leider Nein !

[2024-04-18 16:28:27,671] [ERROR] [paperless.consumer] Error occurred while consuming document Chemin des Palettes 20, 1212 Grand-Lancy  - 8279.01.eml: Error while converting document to PDF: Server error '503 Service Unavailable' for url 'http://gotenberg:3000/forms/chromium/convert/html'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503
Traceback (most recent call last):
  File "/usr/src/paperless/src/paperless_mail/parsers.py", line 403, in generate_pdf_from_html
    response = route.run()
               ^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/gotenberg_client/_base.py", line 82, in run
    resp.raise_for_status()
  File "/usr/local/lib/python3.11/site-packages/httpx/_models.py", line 761, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Server error '503 Service Unavailable' for url 'http://gotenberg:3000/forms/chromium/convert/html'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/asgiref/sync.py", line 327, in main_wrap
    raise exc_info[1]
  File "/usr/src/paperless/src/documents/consumer.py", line 612, in try_consume_file
    document_parser.parse(self.working_copy, mime_type, self.filename)
  File "/usr/src/paperless/src/paperless_mail/parsers.py", line 171, in parse
    self.archive_path = self.generate_pdf(mail)
                        ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/paperless/src/paperless_mail/parsers.py", line 218, in generate_pdf
    pdf_of_html_content = self.generate_pdf_from_html(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/paperless/src/paperless_mail/parsers.py", line 406, in generate_pdf_from_html
    raise ParseError(
documents.parsers.ParseError: Error while converting document to PDF: Server error '503 Service Unavailable' for url 'http://gotenberg:3000/forms/chromium/convert/html'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503

Welchen Mail-Provider nutzt du denn ?
Schon mal einen anderen genutzt ?

Sei bitte nochmal so nett und Poste deine aktuelle docker-compose.yml in die Codebox.

Danke

Das mail wird von meiner websiteanbieter gehostet
kann mal mit einen anderem probieren …

hier noch die aktuelle Docker-compose

# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
#   as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
#   and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.

version: "3.4"
services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - redisdata:/data

  db:
    image: docker.io/library/postgres:16
    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
      - gotenberg
      - tika
    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
      - /volume1/docker/paperless-ngx/paperless-inbox:/usr/src/paperless/consume
    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  
       
  gotenberg:
    image: docker.io/gotenberg/gotenberg:8.0.3
    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/.*"
      - '--api-timeout=400s'
      
  tika:
    image: ghcr.io/paperless-ngx/tika:latest
    restart: unless-stopped

volumes:
  redisdata:

Also habe kurz meine apple mail eingefügt und die erste Mail die ich konsumieren kommt der gleiche Fehler ? …

ändere mal Redis auf folgende Version

services:
  broker:
    image: docker.io/library/redis:7.2.4

und Gotenberg auf diese.

 gotenberg:
    image: docker.io/gotenberg/gotenberg:8.2.0

So ist es zumindest bei mir am laufen ohne Probleme.

Ich vergaß zu erwähnen das du vorher Paperless stoppen musst dann die config ändern und dann nen Pull machen musst damit die Version auch wirklich aktualisiert wird… und dann wieder mit up -d paperless starten.

Hallo Michael

mit deinen empfehlungen habe ich heute nur 1 mal den Fehler gehabt und habe 25 mails konsumiert. ist also eine massive Verbesserung
hoffe es bleibt stabil und ich Danke euch für die unterstützung
Sascha

Dann liegt das definitiv an der Gotenberg Version.
Stefan hatte das glaube ich auch mal gepostet.