Keine Verbindung zu REDIS seit Update auf 2.19.2

Hallo zusammen,

seit dem letzten Update von Paperless auf Version 2.19.3 bekomme ich immer die Fehlermeldung, dass die Verbindung zu REDIS scheinbar nicht hinhaut. Ich habe an der Konfiguration generell nichts verändert. Ich lasse Paperless über den Container Manager auf einer Synology laufen.

Hier das Fehlerprotokoll:

/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
/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.
s6-rc: warning: unable to start service init-wait-for-redis: command exited 1
Failed to connect to redis using environment variable PAPERLESS_REDIS.
Waiting 5s
Error: Error 99 connecting to localhost:6379. Cannot assign requested address..
Redis ping #4 failed.
s6-rc: warning: unable to start service init-migrations: command exited 1
redis.exceptions.ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address.
raise ConnectionError(self._error_message(e))
File "/usr/local/lib/python3.12/site-packages/redis/connection.py", line 363, in connect
connection.connect()
File "/usr/local/lib/python3.12/site-packages/redis/connection.py", line 1422, in get_connection
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
conn = self.connection or pool.get_connection(command_name, **options)
File "/usr/local/lib/python3.12/site-packages/redis/client.py", line 565, in _execute_command
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return self._execute_command(*args, **options)
File "/usr/local/lib/python3.12/site-packages/redis/client.py", line 559, in execute_command
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return self.execute_command("GET", name, keys=[name])
File "/usr/local/lib/python3.12/site-packages/redis/commands/core.py", line 1822, in get
^^^^^^^^^^^^^^^
value = client.get(key)
File "/usr/local/lib/python3.12/site-packages/django/core/cache/backends/redis.py", line 100, in get
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
return self._cache.get(key, default)
File "/usr/local/lib/python3.12/site-packages/django/core/cache/backends/redis.py", line 188, in get
^^^^^^^^^^^^^^^^
value = c.get(key, None)
File "/usr/local/lib/python3.12/site-packages/treenode/cache.py", line 24, in _get_cached_collection
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ls = _get_cached_collection("treenode_list", list)
File "/usr/local/lib/python3.12/site-packages/treenode/cache.py", line 32, in _get_cached_collections
^^^^^^^^^^^^^^^^^^^^^^^^^
ls, d = _get_cached_collections()
File "/usr/local/lib/python3.12/site-packages/treenode/cache.py", line 65, in update_cache
update_cache(cls)
File "/usr/local/lib/python3.12/site-packages/treenode/models.py", line 455, in update_tree
sender_model.update_tree()
File "/usr/local/lib/python3.12/site-packages/treenode/signals.py", line 36, in post_migrate_treenode
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
response = receiver(signal=self, sender=sender, **named)
File "/usr/local/lib/python3.12/site-packages/django/dispatch/dispatcher.py", line 189, in send
models.signals.post_migrate.send(
File "/usr/local/lib/python3.12/site-packages/django/core/management/sql.py", line 52, in emit_post_migrate_signal
emit_post_migrate_signal(
File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/migrate.py", line 380, in handle
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
res = handle_func(*args, **kwargs)
File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 107, in wrapper
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
output = self.handle(*args, **options)
File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 460, in execute
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 416, in run_from_argv
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
utility.execute()
File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
execute_from_command_line(sys.argv)
File "/usr/src/paperless/src/manage.py", line 10, in <module>
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

OSError: [Errno 99] Cannot assign requested address
sock.connect(socket_address)
File "/usr/local/lib/python3.12/site-packages/redis/connection.py", line 718, in _connect
raise err
File "/usr/local/lib/python3.12/site-packages/redis/connection.py", line 730, in _connect
^^^^^^^^^^^^^^^
lambda: self._connect(), lambda error: self.disconnect(error)
File "/usr/local/lib/python3.12/site-packages/redis/connection.py", line 358, in <lambda>
^^^^
return do()
File "/usr/local/lib/python3.12/site-packages/redis/retry.py", line 62, in call_with_retry
^^^^^^^^^^^^^^^^^^^^^^^^^^^
sock = self.retry.call_with_retry(
File "/usr/local/lib/python3.12/site-packages/redis/connection.py", line 357, in connect
Traceback (most recent call last):
Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
Your models in app(s): 'documents' have changes that are not yet reflected in a migration, and so won't be applied.
No migrations to apply.
Running migrations:
Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount
Operations to perform:
Waiting 5s
Error: Error 99 connecting to localhost:6379. Cannot assign requested address..
Redis ping #3 failed.
Waiting 5s
Error: Error 99 connecting to localhost:6379. Cannot assign requested address..
Redis ping #2 failed.
Waiting 5s
Error: Error 99 connecting to localhost:6379. Cannot assign requested address..
Redis ping #1 failed.
Waiting 5s
Error: Error 99 connecting to localhost:6379. Cannot assign requested address..
Redis ping #0 failed.
Waiting for Redis...
[init-migrations] Apply database migrations...
[init-folders] Running with root privileges, adjusting directories and permissions
[init-user] No GID changes for paperless
[init-user] No UID changes for paperless
[init-tesseract-langs] No additional installs requested
[init-tesseract-langs] Checking if additional teseract languages needed
[init-db-wait] Database is ready
[init-redis-wait] Waiting for Redis to report ready
[env-init] No *_FILE environment found
[env-init] Checking for environment from files
[init-start] paperless-ngx docker container starting init as root
[init-start] paperless-ngx docker container starting...

In der docker-compose ist der Verweis auf REDIS enthalten:

environment:
  - PAPERLESS_REDIS=redis://broker:6379

Hat jemand eine Idee, wo der Fehler liegen könnte?

Ein Grund mehr nicht immer ein early adopter zu sein….

Poste mal bitte das komplette Composer File

Grundsätzlich gebe ich dir recht, allerdings war es kein großer Versionssprung, sondern ein kleines Punktupdate. Und da ich sonst nichts darüber im Netz gefunden habe, gehe ich davon aus, dass es ein individuelles Problem bei mir ist.

Muss Nix schlimmes sein, evtl. blockiert nur die Synology Firewall nach einem Paperless reboot, war schon oft das Problem.
Wenn die aktiviert ist, mal ausschalten und Paperless neu starten.

Danke für den Tipp, aber daran lag es leider nicht.

Hier meine 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: XXX

  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
      - /volume1/scaninput:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_OCR_USER_ARGS: '{"invalidate_digital_signatures": true}'
      PAPERLESS_EMAIL_HOST: smtp.strato.de
      PAPERLESS_EMAIL_PORT: 465
      PAPERLESS_EMAIL_HOST_USER: XXX
      PAPERLESS_EMAIL_HOST_PASSWORD: XXX
      PAPERLESS_EMAIL_USE_TLS: "False"
      PAPERLESS_EMAIL_USE_SSL: "True"
      PAPERLESS_EMAIL_FROM: XXX

volumes:
  data:
  media:
  pgdata:
  redisdata:

Stell mal das Redis image auf Version :8 und starte Paperless erneut

Wenn Paperless wieder läuft solltest du die Datenbank auf ein absolutes Volume umstellen. Jetzt ist die Datenbank ein Volume in Docker, das kannst du nicht sichern.

Also 7.0 ist schon etwas her. Daher wie Jake sagt entweder :7 oder besser gleich :8
Und den ersten Eintrag “Version” kann Du entfernen, der ist absolete

Was hat Redis 8 für Vorteile? Ich habe gelesen, das 8 noch relativ neu ist und noch nicht offiziell von Paperless empfohlen wird und auch keine signifikanten Vorteile für Paperless mit sich bringt.

Das ist doch völlig egal was redis 8 für Vorteile hat. Du willst doch das Dein Paperless läuft, oder nicht?

Redis ist doch nur ein Objekt Cache. Wenn Redis nicht läuft siehst zum Beispiel keine Vorschaubilder der PDFs oder so. Das ist nur Temporär für schnelle Vorschau und bisschen mehr.

Doch Version 8 wird offiziell von paperless-ngx unterstützt.

Ah okay, dann war meine Info veraltet. Danke für den Hinweis.

Nach dem Update auf 2.19.4 funktioniert jetzt wieder alles einwandfrei. Trotzdem vielen Dank für eure Hilfe und eure Hinweise.