Gelöst: Tika und Gotenberg-Fehler "Error while converting document to PDF: Server error '503 Service Unavailable' "

Hilft folgender Protokoll-Abschnitt?

[2024-07-12 17:55:21,524] [ERROR] [paperless.consumer] Error occurred while consuming document Unterschrift_Wohlgefahrt.docx: Could not parse /tmp/paperless/paperless-ngxzw8nn2go/Unterschrift_Wohlgefahrt.docx with tika server at http://tika:9998: timed out

Traceback (most recent call last):

File „/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py“, line 69, in map_httpcore_exceptions

yield

File „/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py“, line 233, in handle_request

resp = self._pool.handle_request(req)

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

File „/usr/local/lib/python3.11/site-packages/httpcore/_sync/connection_pool.py“, line 216, in handle_request

raise exc from None

File „/usr/local/lib/python3.11/site-packages/httpcore/_sync/connection_pool.py“, line 196, in handle_request

response = connection.handle_request(

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

File „/usr/local/lib/python3.11/site-packages/httpcore/_sync/connection.py“, line 101, in handle_request

return self._connection.handle_request(request)

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

File „/usr/local/lib/python3.11/site-packages/httpcore/_sync/http11.py“, line 143, in handle_request

raise exc

File „/usr/local/lib/python3.11/site-packages/httpcore/_sync/http11.py“, line 113, in handle_request

) = self._receive_response_headers(**kwargs)

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

File „/usr/local/lib/python3.11/site-packages/httpcore/_sync/http11.py“, line 186, in _receive_response_headers

event = self._receive_event(timeout=timeout)

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

File „/usr/local/lib/python3.11/site-packages/httpcore/_sync/http11.py“, line 224, in _receive_event

data = self._network_stream.read(

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

File „/usr/local/lib/python3.11/site-packages/httpcore/_backends/sync.py“, line 124, in read

with map_exceptions(exc_map):

File „/usr/local/lib/python3.11/contextlib.py“, line 158, in exit

self.gen.throw(typ, value, traceback)

File „/usr/local/lib/python3.11/site-packages/httpcore/_exceptions.py“, line 14, in map_exceptions

raise to_exc(exc) from exc

httpcore.ReadTimeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

File „/usr/src/paperless/src/paperless_tika/parsers.py“, line 59, in parse

parsed = client.tika.as_text.from_file(document_path, mime_type)

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

File „/usr/local/lib/python3.11/site-packages/tika_client/_resource_tika.py“, line 36, in from_file

return self._decoded_response(self._put_multipart(self.MULTI_PART_PLAIN_TEXT_CONTENT, filepath, mime_type))

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

File „/usr/local/lib/python3.11/site-packages/tika_client/_utils.py“, line 45, in _put_multipart

resp = self.client.post(endpoint, files=files, headers=content_header)

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

File „/usr/local/lib/python3.11/site-packages/httpx/_client.py“, line 1145, in post

return self.request(

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

File „/usr/local/lib/python3.11/site-packages/httpx/_client.py“, line 827, in request

return self.send(request, auth=auth, follow_redirects=follow_redirects)

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

File „/usr/local/lib/python3.11/site-packages/httpx/_client.py“, line 914, in send

response = self._send_handling_auth(

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

File „/usr/local/lib/python3.11/site-packages/httpx/_client.py“, line 942, in _send_handling_auth

response = self._send_handling_redirects(

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

File „/usr/local/lib/python3.11/site-packages/httpx/_client.py“, line 979, in _send_handling_redirects

response = self._send_single_request(request)

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

File „/usr/local/lib/python3.11/site-packages/httpx/_client.py“, line 1015, in _send_single_request

response = transport.handle_request(request)

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

File „/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py“, line 232, in handle_request

with map_httpcore_exceptions():

File „/usr/local/lib/python3.11/contextlib.py“, line 158, in exit

self.gen.throw(typ, value, traceback)

File „/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py“, line 86, in map_httpcore_exceptions

raise mapped_exc(message) from exc

httpx.ReadTimeout: timed out

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 579, in run

document_parser.parse(self.working_copy, mime_type, self.filename)

File „/usr/src/paperless/src/paperless_tika/parsers.py“, line 71, in parse

raise ParseError(

documents.parsers.ParseError: Could not parse /tmp/paperless/paperless-ngxzw8nn2go/Unterschrift_Wohlgefahrt.docx with tika server at http://tika:9998: timed out

Entschuldigt bitte meinen vorherigen Eintrag. ich bin neu hier und noch unerfahren was die Formatierung angeht.

Im Folgenden ein weiterer Versuch mit meiner docker-compose.yml:


version: "3.4"
services:
  broker:
    image: docker.io/library/redis:7.0
    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
      - 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/scaninput:/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.7
    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: ghcr.io/paperless-ngx/tika:latest
    restart: unless-stopped

volumes:
  redisdata:

Ich habe kurz meine yml mit deinen Einträgen verglichen und sehe auf den ersten Blick keinen Unterschied. Ich habe Gotenberg 8.8. Ich empfehle dir aber die Anweisungen von Stefan zu befolgen, da ich auch nur ein „User“ bin und mich mit Codes zu wenig auskenne. Da ich auch den Fehler 503 hatte und mir der update auf 8.7 resp. 8.8 geholfen hatte, dachte ich es könnte auch dir helfen. Sorry, da muss wohl @Stefan ran…

1 „Gefällt mir“

Vielen Dank für deine schnelle Antwort(en) @MarcA. Ich bin gespannt, ob @Stefan mir weiter helfen kann (ich denke aber schon :wink: )

P.s.: ich habe auf meinem Synology NAS die Firewall aktiviert. Bisher habe ich keine Anpassungen vorgenommen. Kann es sein, dass irgendwelche Ports weitergeleitet werden müssen? Da die Server alle intern auf der NAS in Containern laufen, sollte das aus meiner Sicht nicht notwendig sein, da es ja nicht um eine Erreichbarkeit aus dem Internet geht…

Versuch mal diese auszuschalten. Normalerweise musst du diePorts in der Firewall immer entsprechend anpassen. Ich habe gerade ein mail Konto aktiviert und musste feststellen, das ich erst nach dem Port öffnen den Mail Server erreichen konnte… :wink:

Bei mir ist alles intern. „Extern“ greife ich nur über openvpn drauf zu.

Habe ich gemacht, hat nicht geholfen.

Ich habe ChatGPT mal gefragt und die Erreichbarkeit der Server getestet und die Log-Dateien angesehen. Da scheint alles in Ordnung. Es gab jedoch folgenden Hinweis:

Timeouts und Retries anpassen:
Passen Sie die Timeouts und Retries in der docker-compose.yml an, um sicherzustellen, dass die Dienste genügend Zeit haben, um zu reagieren.

yaml

healthcheck:
test: [„CMD“, „curl“, „-fs“, „-S“, „–max-time“, „10“, „http://localhost:9998“]
interval: 30s
timeout: 20s
retries: 5

Ressourcenzuweisung erhöhen:
Stellen Sie sicher, dass genügend Ressourcen (CPU, RAM) für die Container zugewiesen sind, um mögliche Engpässe zu vermeiden.

Vielleicht ist die NAs ja auch einfach zu schwach um rechtzeitig zu reagieren. Hast du hierzu Erfahrungswerte ob es Sinn macht, die Timeouts zu erhöhen?

Ich habe eben mal ein Uralt *.doc Dokument hochgeladen. Das wurde erfolgreich verarbeitet. Bishher habe ich frisch erstellte *docx und *.odt Dokumente zum Testen verwendet. Es scheint, als sei es dann ein Kompatibilitätsproblem mit den neuen Vormaten oder zu wenig Ressourcen?!

…jetzt funktioniert es auch mit *.docx Dokuementen…ich habe an der Konfiguration nichts verändert. Möglicherweise haben Ping-Befehle und das Abrufen der Log-Dateien von Tika und gotenberg irgendwelche schlafenden Prozesse geweckt, sodass die Server/Dienste nun laufen?! Wie auch immer…es läuft!

Das hatte ich auch schon mal, dass der erste Scan warum auch immer nicht gelesen wurde. Ab dem 2. Scan aber keine Probleme mehr auftauchten. Warum wissen die Götte… :wink:
Hoffen wir das es weiterhin klappt. :+1:

Auch ich benutze ChatGPT regelmässig. Zum Teil auch mit Erfolg!

1 „Gefällt mir“

Hi,

ich hatte den selben Fehler und sämtliche Gotenbergversionen durchgespielt und immer wieder den Fehler. Und heute kam so ein Aha! über mich… PiHole! Habt ihr vielleicht einen laufen? Habe meinen mal ausgestellt und Tada! Plötzlich ging es

Hallo zusammen,
bei mir klappt es nun mit den EML und ODT Dateien.

Verwende folgende Versionen:
PNGX 2.13.4
Gotenberg 8.8

Beste Grüße,
Achim

Hallo zusammen,

bei mir läuft aktuell folgende Konstellation:

PaperlessNGX: 2.13.5
Gotenberg: 8.12.0
Synology NAS

Was allerdings immer mal wieder Probleme macht, ist der 503 Fehler.

Ich habe hier folgendes versucht, bekomme ihn jedoch nicht weg. In unregelmäßigen Abständen kommt er immer wieder. Ich vermute bei mehreren Importen.

command:
      - "gotenberg"
      - "--chromium-disable-javascript=true"
      - "--chromium-allow-list=file:///tmp/.*"
      - "--chromium-start-timeout=30s"
      - "--api-timeout=300s"
      - "--chromium-allow-file-access-from-files=true"
      - "--chromium-allow-insecure-localhost=true"
      - "--chromium-allow-list=.*"
      - "--chromium-disable-web-security=true"

Habt ihr noch Tips?

Danke und Gruß

Hallo zusammen,

bin recht neu hier, lese aber schon eine ganze Weile hier im Thread mit, da mich das gleiche Thema plagt.

Folgende Konstellation bei mir im Einsatz
Paperless ngx: 2.13.5
Gotenberg: 8.8
Synology: DS224+

Habe auch ein paar Lösungsansätze probiert, die hier diskutiert wurden.
Leider alles ohne dauerhaften Erfolg. Mehr oder weniger sporadisch tritt der Fehler bei Office Dokumenten .xlsx und .docx auf. Sonst läuft die Installation prima.

Bei mir lag die Lösung in der Office Einstellung der „Geschützen Ansicht“.
Diese „Bearbeitungssperre“ hatte ich im Office Paket eingestellt bei Dateien aus dem Internet, Mailanhängen und für Dateien an pot. unsicheren Speicherorten.

Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Geschützte Ansicht

Dort dann die Häkchen entfernen, soweit Ihr das für Euch in Eurem Umfeld vertretbar ist.

Bei mir tritt der Fehler seitdem nicht mehr auf.

Ob und welchen Zusammenhang es dabei zwischen diesen voneinander unabhängigen Anwendungen gibt, ist mir nicht eingängig.
Fakt ist aber, dass diese Veränderung plötzlich zur dauerhaften (sofern man das nach 10 Testdokumenten sagen kann) Funktionalität bei mir führt.

Werde es weiter beobachten und ggf. ein Update posten.

Viele Grüße, Tim

Habe nun seit ein paar Tagen das gleiche Problem auf einer Neuinstallation.

Paperless ngx: 2.13.5
gotenberg 8.7
unter docker/proxmox/ mit ausreichend RAM und cpu’s
eine 8MB xlsm Datei führt zum 503-versagen.
Auch die Änderungen im Trust-Center haben daran nichts geändert.
Wäre gut, wenn’s da nen Ansatz gibt.

Hinweis, beim erstmaligen Import von 3.000 neuer Daten nahm die Verarbeitungsgeschwindigkeit rapide ab (CPU und RAM lag nur noch bei 10% Last) , nach 1,5 Tage war er fertig und läuft seitdem stabiler.
Reboot hat auch nichts verbessert.
Demnächst kommen noch 20GB dazu, und hoffe, es verkraftet das auch stabil.

Auch ein update auf gotenberg 8.8 hat das Problem nicht gelöst. Fehlermeldungen bleiben gleich.

` File „/usr/src/paperless/src/paperless_tika/parsers.py“, line 122, in convert_to_pdf

raise ParseError(

documents.parsers.ParseError: Error while converting document to PDF: Server error ‚503 Service Unavailable‘ for url ‚http://gotenberg:3000/forms/libreoffice/convert

[2024-11-27 21:47:00,294] [ERROR] [paperless.tasks] ConsumeTaskPlugin failed: Simu_BGA_PV_Flinten.xlsm: Error occurred while consuming document Simu_BGA_PV_Flinten.xlsm: Error while converting document to PDF: Server error ‚503 Service Unavailable‘ for url ‚http://gotenberg:3000/forms/libreoffice/convert

Traceback (most recent call last):

File „/usr/src/paperless/src/paperless_tika/parsers.py“, line 115, in convert_to_pdf

response = route.run()

           ^^^^^^^^^^^`


Puh, sorry, mit der Formatierung stehe ich hier noch auf Kriegsfuß

Noch ein Hinweis: Wenn Microsoft einen pdf-export dieser Datei durchführt, werden da ca. 2.600 Seiten und knappe 70MB von. Denke, da könnte irgendwo einer mit dem Speicherbedarf nicht umgehen.

Der import dieser 60MB Datei scheint auf widerstand zu stoßen. Ich berichte später. Denke gotenberg kommt mit dem Prozessmanagement nicht klar bei der direkten Umwandlung und 'warten auf ocrmypdf

→ hard_timeout abgebrochen.