Paperless-webserver startet nach Update des NAS (DSM) alle paar Sekunden neu

Guten Tag,

meine Synology hat mir die Tage ein Update für das DSM angezeigt. Das habe ich installiert, ohne Fehlermeldungen.

Seit dem Update des DSM habe ich die Situation, dass der „paperless-webserver-1“ alle paar Sekunden gestoppt und umgehend wieder neu gestartet wird. Ich bekomme dazu entsprechende Meldungen per E-Mail und habe seit dem Update weit über 1.000 Mails erhalten.

An Paperless selbst habe ich nichts verändert. Ich habe lediglich das DSM aktualisiert auf die neueste Version. Auch weitere Pakete wurden nicht aktualisiert.

Hat jemand eine Idee, was da passiert ist? Hat jemand vielleicht das gleiche Problem?

Ich habe den Webserver einmal manuell gestoppt und neu gestartet, das hat allerdings keinerlei Veränderung bewirkt.

Es geht hier um ein privates NAS. Ich habe auch ein NAS von Synology für meine geschäftlichen Dokumente. Auch dort wurde das Update für DSM eingespielt. Dort tritt das Verhalten des Webservers allerdings nicht auf.

Viele Grüße
Frank

Nachtrag:

Im Protokoll steht folgendes: „Error: Error -5 connecting to broker:6379. No address associated with hostname.“ Das ist der Port von Redis. Es erscheint auch eine Meldung, dass der Redis-Ping nicht klappt.

Man kann sich die Logs vom Webserver mit „docker logs“ anschauen. Eventuell ist es aber mal wieder die Firewall. Schau mal bitte und wenn sie aktiv ist zum testen einmal deaktivieren.

Die Firewall auf der Synology ist deaktiviert. Die nutze ich nicht. Es gibt auch keinen externen Zugriff auf das NAS. Die Logdateien schaue ich mir mal an.

Komme ich nicht hin, Zugriff verweigert:

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get „http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/paperless-webserver-1/json“: dial unix /var/run/docker.sock: connect: permission denied

Habe mich über SSH eingeloggt und dann „docker logs paperless-webserver-1“ eingegeben.

hast du valkey oder redis. und hast du tika nicht auf latest zu stehen?
post doch bitte zur not deine docker-compose.yml

auuserdem wenn über ssh dann ein sudo docker logs paperless-webserver-1

Wenn Du kein root bist dann

„sudo docker logs“

services:
broker:
image: Docker Hub Container Image Library | App Containerization
restart: unless-stopped
volumes:

  • redisdata:/data

db:
image: Docker Hub Container Image Library | App Containerization
restart: unless-stopped
volumes:

  • ../pgdata:/var/lib/postgresql
    environment:
    POSTGRES_DB: paperless
    POSTGRES_USER: paperless
    POSTGRES_PASSWORD: xxx

webserver:
image: Package paperless-ngx · GitHub
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
  • /volume1/scaninput:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
    PAPERLESS_REDIS: redis://broker:6379
    PAPERLESS_DBHOST: db
    PAPERLESS_DBENGINE: postgresql

volumes:
redisdata:

Da wurde nichts verändert. Und vor dem Update des DSM liefen alle Container ohne Probleme.

das bedeutet du hast auch redis
kannst du deine yml als formatierten text ausgeben

emit_post_migrate_signal(
File „/usr/local/lib/python3.12/site-packages/django/core/management/sql.py“, line 52, in emit_post_migrate_signal
models.signals.post_migrate.send(
File „/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py“, line 189, in send
response = receiver(signal=self, sender=sender, **named)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/treenode/signals.py“, line 36, in post_migrate_treenode
sender_model.update_tree()
File „/usr/local/lib/python3.12/site-packages/treenode/models.py“, line 455, in update_tree
update_cache(cls)
File „/usr/local/lib/python3.12/site-packages/treenode/cache.py“, line 65, in update_cache
ls, d = _get_cached_collections()
^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/treenode/cache.py“, line 32, in _get_cached_collections
ls = _get_cached_collection(„treenode_list“, list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/treenode/cache.py“, line 24, in _get_cached_collection
value = c.get(key, None)
^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/django/core/cache/backends/redis.py“, line 188, in get
return self._cache.get(key, default)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/django/core/cache/backends/redis.py“, line 100, in get
value = client.get(key)
^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/redis/commands/core.py“, line 1822, in get
return self.execute_command(„GET“, name, keys=[name])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/redis/client.py“, line 559, in execute_command
return self._execute_command(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/redis/client.py“, line 565, in _execute_command
conn = self.connection or pool.get_connection(command_name, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/redis/connection.py“, line 1422, in get_connection
connection.connect()
File „/usr/local/lib/python3.12/site-packages/redis/connection.py“, line 363, in connect
raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error -5 connecting to broker:6379. No address associated with hostname.
s6-rc: warning: unable to start service init-migrations: command exited 1
Redis ping #2 failed.
Error: Error -5 connecting to broker:6379. No address associated with hostname..
Waiting 5s
Redis ping #3 failed.
Error: Error -5 connecting to broker:6379. No address associated with hostname..
Waiting 5s
Redis ping #4 failed.
Error: Error -5 connecting to broker:6379. No address associated with hostname..
Waiting 5s
Failed to connect to redis using environment variable PAPERLESS_REDIS.
s6-rc: warning: unable to start service init-wait-for-redis: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
[init-start] paperless-ngx docker container starting…
[init-start] paperless-ngx docker container starting init as root
[env-init] Checking for environment from files
[env-init] No *_FILE environment found
[init-redis-wait] Waiting for Redis to report ready
[init-db-wait] Waiting for PostgreSQL to start…
[init-tesseract-langs] Checking if additional teseract languages needed
[init-tesseract-langs] No additional installs requested
[init-user] No UID changes for paperless
[init-user] No GID changes for paperless
[init-folders] Running with root privileges, adjusting directories and permissions
db:5432 - accepting connections
[init-db-wait] Connected to PostgreSQL
[init-db-wait] Database is ready
[init-migrations] Apply database migrations…
Waiting for Redis…
Redis ping #0 failed.
Error: Error -5 connecting to broker:6379. No address associated with hostname..
Waiting 5s
Redis ping #1 failed.
Error: Error -5 connecting to broker:6379. No address associated with hostname..
Waiting 5s
Operations to perform:
Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount
Traceback (most recent call last):
File „/usr/local/lib/python3.12/site-packages/redis/connection.py“, line 357, in connect
sock = self.retry.call_with_retry(
Running migrations:
No migrations to apply.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.12/site-packages/redis/retry.py“, line 62, in call_with_retry
return do()

Das ist ein Auszug aus dem sehr umfangreichen Logfile.

services:
  broker:
    image: docker.io/library/redis:8
    restart: unless-stopped
    volumes:
      - redisdata:/data

  db:
    image: docker.io/library/postgres:18
    restart: unless-stopped
    volumes:
      - ../pgdata:/var/lib/postgresql
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: xxx

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:2.20.15
    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
      - /volume1/scaninput:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_DBENGINE: postgresql

volumes:
  redisdata:

hattest du im broker zu irgendeinem zeitpunkt valkey drin ?

setze mal im broker unter volumes
../redisdata

Valkey hatte ich auf dem privaten NAS nicht Einsatz. Bin da auch noch auf der 2er Version von Paperless.

Dein Eintragswunsch führt zu folgender Fehlermeldung über SSH: validating /volume1/docker/paperless-ngx/docker-compose.yml: volumes must be a mapping

Mein Eintrag sieht wie folgt aus:

volumes:
  #redisdata:
  ../redisdata

Ist der Eintrag direkt hinter „redisdata“ - auch ohne # - kommt die identische Fehlermeldung.

damit kein missverständnis auf kommt

volumes:
  - ../redisdata:/data

Fehlermeldung bleibt: validating /volume1/docker/paperless-ngx/docker-compose.yml: volumes must be a mapping

Dann schau doch mal bitte ob der redis Container läuft und wenn ja wie die Log Meldungen vom redis sind.

kannst du mir die docker-compose.env schicken

Mit der Original YAML erhalte ich nach „sudo docker-compose up -d“ folgende Fehlermeldung:

Error response from daemon: Bind mount failed: ‚/volume1/docker/pgdata‘ does not exist

Der Pfad existiert aber.

Einen Redis-Container sehe ich nicht. Die Datenbank hat jetzt einen roten Punkt und der Webserver ist gestoppt. Irgendetwas scheint da schief zu laufen.

Here we are…

# UID und GID können variieren. Einfach via SSH einloggen und den Befehl "id" ausführen.
# Diese Werte dann hier eintragen:
USERMAP_UID=1031
USERMAP_GID=100

# Falls weitere Sprachen installiert werden sollen, einfach das # vor der nächsten Zeile entfernen (und Sprachen eintragen)
#PAPERLESS_OCR_LANGUAGES=tur ces

# Zeitzone: Berlin
PAPERLESS_TIME_ZONE=Europe/Berlin

# OCR-Sprache: Deutsch
PAPERLESS_OCR_LANGUAGE=deu

# Ausgabeformat: Jahr/Dokumententitel (kann man ändern)
PAPERLESS_FILENAME_FORMAT={{created_year}}/{{title}}

# OCR-Modus: Dokumente, die bereits OCR eingebettet haben, werden nicht erneut OCRed. Archiv wird übersprungen.
PAPERLESS_OCR_MODE=skip

# Rekursives Konsumieren aktivieren: Raute aus nächster Zeile entfernen. Macht Probleme, falls Papierkorb aktiv, muss daher selbst aktiviert werden:
# PAPERLESS_CONSUMER_RECURSIVE=true

# Tags aus Unterordnern im Scaninput-Ordner generieren: Raute aus nächster Zeile entfernen zum Aktivieren. Funktioniert nur, wenn Rekursives Konsumieren aktiv ist.
# PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true

was heißt jetzt mit der original yml erhalte ich einen fehler ???

hattest du id aufgerufen und hast UID 1031 bekommen. ich dachte es wäre 1026

ist dein 1031 ein administrator oder user

Mit „Original“ meinte ich den Zustand, den ich vorher ohne die Ergänzung hatte, die Du vorgeschlagen hast. Den Fehler erhalte ich nach „sudo docker-compose up -d“, mit der „Original“-YAML. Allerdings startet jetzt auch die Datenbank nicht mehr. Die hat einen roten Punkt im Container-Manager und lässt sich auch manuell nicht mehr starten. Der Webserver ist offline und hat einen grauen Punkt. Der Neustart alle 30 Sekunden findet nicht mehr statt.

An sämtlichen Dateien gab es durch mich keinerlei Änderungen, auch nicht an den IDs. Das Neustarten alle 30 Sekunden begann exakt, nachdem das NAS das DSM-Update eingespielt und neu gestartet war. Seitdem hat sich daran nichts geändert.

Spontan habe ich den Gedanken, das Ganze einfach noch einmal neu aufzusetzen. Ich habe erst wenige Dokumente in der Datenbank. Die kann ich sichern und einfach neu konsumieren lassen. Dann kann ich auch gleich auf die Version 3 aktualisieren.

warte damit noch. Ich sehe da ein 2 punkte
hast du das nach der masterclass aufgesetzt? Wenn ja liegt die docker-compose.yml im falschen verzeichnis

ausserdem sucht paperless pgdata in /volume1/docker/pgdata. ist denn dort auch das verzeichnis pgdata ?