Paperless-ngx | Wechsel von Broker Redis zu Valkey. Wie? Endlosschleife (Degraded)

DHC

Commander
Registriert
Aug. 2013
Beiträge
2.682
Ich habe mal eine Frage an die Spezialisten hier zum Thema Docker/Podman bzw. Paperless-ngx.

Die Entwickler haben den Broker von Redis zu Valkey gewechselt. Warum auch immer.

Ich habe die "compose.yml" entsprechend angepasst und die Images gezogen und upgedated (pull / up -d).
Der Broker startet und stoppt nun in einer Endlosschleife und das Ensemble wird aus degraded angezeigt.

Nun habe ich gelesen (KI), dass man eine Datei "dump.rdb" im Ordner "redisdata" löschen sollte.
Nur finde ich den leider nirgends.

Hat schon jemand ein aktuelles Update von Paperless-ngx gemacht? Sprich Wechsel von Redis zu Valkey?
Wie kann man die Problematik lösen?

Ich wäre sehr dankbar für Hilfen und Anregungen.
 
Hab gelesen, dass man auch einfach einen anderen Ordner/Volume angeben kann. Ansonsten kommt es halt drauf an wie deine Volumes sind um zu wissen wo die Datei liegt.
Vermutlich kann man dann auch einfach das Volume löschen (immer Backup!)
 
docker volume ls und dann mit dem entsprechenden „redisdata“ volume docker volume inspect [VOLUME_NAME von vorher] dann kannst du dort im mountpoint dir das directory redisdata angucken.
 
Wenn ich das Ganze richtig verstehe, werden die Ordner von/zu Docker-Container gemappt.
Z. B.:
volumes:
- redisdata:/data
Der Linke Teil vor dem Doppelpunkt ist der Ordner im System. Der rechte Teil nach dem Doppelpunkt ist der Ordner im Container.
Demnach müsste man den Ordner ja auch finden können.

Die Volumes unter Webserver finde ich ja.
Nur nicht das Volume unter Redis.
Der Unterschied ist, dass dort kein / vor dem Ordnernamen ist.
Ergänzung ()

SB94 schrieb:
Da bekomme ich nun drei Sachen angezeigt. Obwohl ich nur zwei Instanzen habe.
Ergänzung ()

SB94 schrieb:
docker volume inspect [VOLUME_NAME von vorher]
Da habe ich nun tatsächlich Infos gefunden. Ich werde das mal checken.
Ergänzung ()

Tatsächlich. Da gibt es eine dumb.rdb.
Da muss man aber auch erst einmal darauf kommen.

@SB94
Danke. Du hast mir sehr geholfen.
 
Zuletzt bearbeitet:
redisdata ist ein volumen, das von docker erstellt und verwaltet wird, während die anderen "volumen" (die mit /) einfach nur ordner mappen.
wie schon gesagt docker volume ls und dann docker volume inspect [VOLUME_NAME von vorher]. dort wird dann unter anderem der mountpoint angegeben.

alternativ kannst du auch aus dem docker container heraus in den ordner mit erst
docker container ls | grep "broker" die letzte spalte ist der name des broker containers und dann docker exec -it [NAME des Broker containers von vorher] /bin/bash dann ist dort der pfad unter /data
 
SB94 schrieb:
redisdata ist ein volumen, das von docker erstellt und verwaltet wird,
Dann kann ich ja einfach alle Ordner löschen, die "_redisdata" enthalten.
Dann werden die ja eh wieder neu erstellt.

Aktuell bin ich erst mal wieder zurück zu Redis.
Morgen oder vielleicht auch später werde ich das Ganze noch mal mit Valkey probieren.
Ich habe ja ein Backup der Daten und ...-compose.yml angelegt.
 
Hat schon jemand den Sprung von V. 2 auf V. 3 überstanden und das Ganze zum Laufen bekommen?

Die Problematik mit dem Broker, sprich Wechsel von Redis zu Valkey habe ich hinbekommen.
Nun will aber der Webserver nicht mehr sein Arbeit verrichten.
Aus Auslastung schwankt alle paar Sekunden zwischen 0 % und > 100 %. Ausgewertet mit Cockpit.
Die Seite lässt sich erst gar nicht aufrufen.

Ich wäre für Hilfe, bzw. einige Tipps sehr dankbar.

Edit:
Ich bin jetzt Testweise wieder zurück auf V. 2.20 mit Redis.
Da läuft alles, wie gewünscht.
Sobald ich auf V. 3.x.x (lastest) gehe, funktioniert nichts mehr.
 
Meistens steht im log file welches Problem besteht.
Das hat mir bisher immer zu Klarheit geführt
 
Funi schrieb:
Meistens steht im log file welches Problem besteht.
Wo finde ich das?

Im Cockpit sehe ich im Container Protokoll entsprechende Meldungen.
Bei V. 2.20 ist nach dem Start keine Aktivität mehr im Fenster Protokolle.
Bei V. 3.x dagegen ist da sehr viel los unter Protokolle (Meldungen).

Ich kann ja noch mal hochziehen auf V. 3. Mal schauen, was man da so an Meldungen sieht.
Ergänzung ()

Hier mal das Protokoll vom Webserver V. 3.0.5:

Code:
[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-db-wait] Waiting for PostgreSQL to start...
[init-redis-wait] Waiting for Redis to report ready
[init-tesseract-langs] Checking if additional teseract languages needed
[init-tesseract-langs] No additional installs requested
[init-user] Mapping UID for paperless to 1001
db:5432 - accepting connections
[init-db-wait] Connected to PostgreSQL
[init-db-wait] Database is ready
Waiting for Redis...
Redis ping #0 failed.
Error: Error 111 connecting to broker:6379. Connection refused..
Waiting 5s
[init-user] Mapping GID for paperless to 1001
[init-folders] Running with root privileges, adjusting directories and permissions
mkdir: created directory '/tmp/paperless'
changed ownership of '/tmp/paperless' from root:root to paperless:paperless
[init-migrations] Apply database migrations...
Redis ping #1 failed.
Error: Error 111 connecting to broker:6379. Connection refused..
Waiting 5s
Redis ping #2 failed.
Error: Error 111 connecting to broker:6379. Connection refused..
Waiting 5s
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 412, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 375, in create_parser
    self.add_arguments(parser)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/check.py", line 47, in add_arguments
    choices=tuple(connections),
            ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 73, in __iter__
    return iter(self.settings)
                ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 45, in settings
    self._settings = self.configure_settings(self._settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 148, in configure_settings
    databases = super().configure_settings(databases)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 50, in configure_settings
    settings = getattr(django_settings, self.settings_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 81, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 68, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 166, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/src/paperless/src/paperless/settings/__init__.py", line 493, in <module>
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: PAPERLESS_SECRET_KEY is not set or is the default 'change-me' value. A unique, secret key is required for secure operation. Generate one with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
s6-rc: warning: unable to start service init-migrations: command exited 1
Redis ping #3 failed.
Error: Error -5 connecting to broker:6379. No address associated with hostname..
Waiting 5s
[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-db-wait] Waiting for PostgreSQL to start...
[init-redis-wait] Waiting for Redis to report ready
[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...
Connected to Redis broker.
[init-redis-wait] Redis ready
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 412, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 375, in create_parser
    self.add_arguments(parser)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/check.py", line 47, in add_arguments
    choices=tuple(connections),
            ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 73, in __iter__
    return iter(self.settings)
                ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 45, in settings
    self._settings = self.configure_settings(self._settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 148, in configure_settings
    databases = super().configure_settings(databases)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 50, in configure_settings
    settings = getattr(django_settings, self.settings_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 81, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 68, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 166, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/src/paperless/src/paperless/settings/__init__.py", line 493, in <module>
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: PAPERLESS_SECRET_KEY is not set or is the default 'change-me' value. A unique, secret key is required for secure operation. Generate one with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
s6-rc: warning: unable to start service init-migrations: 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.
s6-rc: warning: service s6rc-oneshot-runner is marked as essential, not stopping it
[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-tesseract-langs] Checking if additional teseract languages needed
[init-tesseract-langs] No additional installs requested
[init-redis-wait] Waiting for Redis to report ready
[init-db-wait] Waiting for PostgreSQL to start...
[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...
Connected to Redis broker.
[init-redis-wait] Redis ready
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 412, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 375, in create_parser
    self.add_arguments(parser)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/check.py", line 47, in add_arguments
    choices=tuple(connections),
            ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 73, in __iter__
    return iter(self.settings)
                ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 45, in settings
    self._settings = self.configure_settings(self._settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 148, in configure_settings
    databases = super().configure_settings(databases)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 50, in configure_settings
    settings = getattr(django_settings, self.settings_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 81, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 68, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 166, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/src/paperless/src/paperless/settings/__init__.py", line 493, in <module>
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: PAPERLESS_SECRET_KEY is not set or is the default 'change-me' value. A unique, secret key is required for secure operation. Generate one with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
s6-rc: warning: unable to start service init-migrations: 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.
s6-rc: warning: service s6rc-oneshot-runner is marked as essential, not stopping it
[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...
Connected to Redis broker.
[init-redis-wait] Redis ready
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 412, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 375, in create_parser
    self.add_arguments(parser)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/check.py", line 47, in add_arguments
    choices=tuple(connections),
            ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 73, in __iter__
    return iter(self.settings)
                ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 45, in settings
    self._settings = self.configure_settings(self._settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 148, in configure_settings
    databases = super().configure_settings(databases)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 50, in configure_settings
    settings = getattr(django_settings, self.settings_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 81, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 68, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 166, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/src/paperless/src/paperless/settings/__init__.py", line 493, in <module>
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: PAPERLESS_SECRET_KEY is not set or is the default 'change-me' value. A unique, secret key is required for secure operation. Generate one with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
s6-rc: warning: unable to start service init-migrations: 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.
s6-rc: warning: service s6rc-oneshot-runner is marked as essential, not stopping it
[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-tesseract-langs] Checking if additional teseract languages needed
[init-redis-wait] Waiting for Redis to report ready
[init-tesseract-langs] No additional installs requested
[init-db-wait] Waiting for PostgreSQL to start...
[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...
Connected to Redis broker.
[init-redis-wait] Redis ready
Traceback (most recent call last):
  File "/usr/src/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 412, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 375, in create_parser
    self.add_arguments(parser)
  File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/check.py", line 47, in add_arguments
    choices=tuple(connections),
            ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 73, in __iter__
    return iter(self.settings)
                ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/functional.py", line 47, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 45, in settings
    self._settings = self.configure_settings(self._settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 148, in configure_settings
    databases = super().configure_settings(databases)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/connection.py", line 50, in configure_settings
    settings = getattr(django_settings, self.settings_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 81, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 68, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/conf/__init__.py", line 166, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/src/paperless/src/paperless/settings/__init__.py", line 493, in <module>
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: PAPERLESS_SECRET_KEY is not set or is the default 'change-me' value. A unique, secret key is required for secure operation. Generate one with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
s6-rc: warning: unable to start service init-migrations: 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.
s6-rc: warning: service s6rc-oneshot-runner is marked as essential, not stopping it
s6-linux-init-shutdown: fatal: unable to talk to shutdownd: Operation not permitted
Streaming disconnected
Ergänzung ()

Mit Webserver V. 2.20.15 sieht sehen die Protokollmeldungen wie folgt aus.

Code:
[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-tesseract-langs] Checking if additional teseract languages needed
[init-db-wait] Waiting for PostgreSQL to start...
[init-tesseract-langs] No additional installs requested
[init-redis-wait] Waiting for Redis to report ready
[init-user] Mapping UID for paperless to 1001
db:5432 - accepting connections
[init-db-wait] Connected to PostgreSQL
[init-db-wait] Database is ready
Waiting for Redis...
Connected to Redis broker.
[init-redis-wait] Redis ready
[init-user] Mapping GID for paperless to 1001
[init-folders] Running with root privileges, adjusting directories and permissions
mkdir: created directory '/tmp/paperless'
changed ownership of '/tmp/paperless' from root:root to paperless:paperless
[init-migrations] Apply database migrations...
Operations to perform:
  Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount
Running migrations:
  No migrations to apply.
[init-superuser] Not creating superuser
[init-checks] Running Django checks
System check identified no issues (0 silenced).
[custom-init] /custom-cont-init.d doesn't exist, nothing to do
[init-complete] paperless-ngx docker container init completed in 31 seconds
[init-complete] Starting services
[svc-flower] Checking if we should start flower...
[svc-flower] Not starting flower
[INFO] Starting granian (main PID: 176)
[INFO] Listening at: http://:::8000
[INFO] Spawning worker-1 with PID: 196
celery beat v5.5.3 (immunity) is starting.
[2026-08-21 18:42:50,528] [INFO] [paperless.management.consumer] Using inotify to watch directory for changes: /usr/src/paperless/consume
[2026-08-21 18:42:52,424] [INFO] [paperless.asgi] [init] Paperless-ngx version: v2.20.15
__    -    ... __   -        _
LocalTime -> 2026-08-21 18:42:53
Configuration ->
    . broker -> redis://broker:6379//
    . loader -> celery.loaders.app.AppLoader
    . scheduler -> celery.beat.PersistentScheduler
    . db -> /usr/src/paperless/data/celerybeat-schedule.db
    . logfile -> [stderr]@%INFO
    . maxinterval -> 5.00 minutes (300s)
[2026-08-21 18:42:53,624] [INFO] [celery.beat] beat: Starting...
[2026-08-21 18:42:53,741] [INFO] [celery.beat] Scheduler: Sending due task Check all e-mail accounts (paperless_mail.tasks.process_mail_accounts)
 
 -------------- celery@2632b0a9d9ff v5.5.3 (immunity)
--- ***** -----
-- ******* ---- Linux-6.12.101+deb13-amd64-x86_64-with-glibc2.41 2026-08-21 18:42:53
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         paperless:0x7f2c9e1498b0
- ** ---------- .> transport:   redis://broker:6379//
- ** ---------- .> results:    
- *** --- * --- .> concurrency: 1 (prefork)
-- ******* ---- .> task events: ON
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery
               

[tasks]
  . documents.bulk_edit.delete
  . documents.signals.handlers.process_cf_select_update
  . documents.tasks.bulk_update_documents
  . documents.tasks.check_scheduled_workflows
  . documents.tasks.consume_file
  . documents.tasks.empty_trash
  . documents.tasks.index_optimize
  . documents.tasks.sanity_check
  . documents.tasks.train_classifier
  . documents.tasks.update_document_content_maybe_archive_file
  . documents.workflows.webhooks.send_webhook
  . paperless_mail.mail.apply_mail_action
  . paperless_mail.mail.error_callback
  . paperless_mail.tasks.process_mail_accounts

[2026-08-21 18:42:54,226] [INFO] [celery.worker.consumer.connection] Connected to redis://broker:6379//
[2026-08-21 18:42:54,271] [INFO] [celery.apps.worker] celery@2632b0a9d9ff ready.
[2026-08-21 18:42:54,282] [INFO] [celery.worker.strategy] Task paperless_mail.tasks.process_mail_accounts[a5903604-2a09-4cef-acb8-5d13ea7f5e09] received
[2026-08-21 18:42:54,917] [INFO] [celery.app.trace] Task paperless_mail.tasks.process_mail_accounts[a5903604-2a09-4cef-acb8-5d13ea7f5e09] succeeded in 0.329902895988198s: 'No new documents were added.'
/usr/local/lib/python3.12/site-packages/django/core/handlers/asgi.py:332: Warning: StreamingHttpResponse must consume synchronous iterators in order to serve them asynchronously. Use an asynchronous iterator instead.
  async for part in content:
[2026-08-21 18:50:00,000] [INFO] [celery.beat] Scheduler: Sending due task Check all e-mail accounts (paperless_mail.tasks.process_mail_accounts)
[2026-08-21 18:50:00,007] [INFO] [celery.worker.strategy] Task paperless_mail.tasks.process_mail_accounts[37e8bb5f-63eb-41a0-a163-0f37ac14d2b6] received
[2026-08-21 18:50:00,151] [INFO] [celery.app.trace] Task paperless_mail.tasks.process_mail_accounts[37e8bb5f-63eb-41a0-a163-0f37ac14d2b6] succeeded in 0.13659055400057696s: 'No new documents were added.'
 
Zuletzt bearbeitet:
Nun funktioniert alles.

Code:
django.core.exceptions.ImproperlyConfigured: PAPERLESS_SECRET_KEY is not set or is the default 'change-me' value. A unique, secret key is required for secure operation. Generate one with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"

In der Meldung aus dem Protokoll steht, dass kein PAPERLESS_SECRET_KEY vorhanden wäre.
Die Aussage ist aber falsch. Ich hatte einen Key hinterlegt.
Nun habe ich halt einen neuen Key angelegt. Und siehe da. Nun läuft alles.

Warum einfach, wenn es auch kompliziert geht.
 
Zuletzt bearbeitet:
slrzo schrieb:
es gibt einen kurzen Hinweis mit Link auf die Docs https://docs.paperless-ngx.com/migration-v3/
Da war ich auch schon.
Das ist aber alles zum Teil sehr speziell.

Ich hatte einen Key seit meiner Erstinstallation hinterlegt.
Nur wurde der bei < V. 3 nicht verwendet oder ausgewertet. Vermute ich mal.
Nachdem ich, wie ich schon schrieb, neu generierte Keys eingetragen habe, funktionierte alles wieder.

Beim Wechsel auf V. 3 musste ich in der compose.yml nur einen Eintrag hinzufügen. ...DBENGINE. Und halt den Key in compose.env neu anlegen. Das wars.

Mal schauen, was man dann wieder verbiegen muss, wenn V. 4 mal heraus kommt.
 
Zurück
Oben