Webserver startet plötzlich nicht mehr

Hallo zusammen,

Ich bin am verzweifeln. Seit mehreren Tagen versuche ich mein Paperless-ngx wieder zum laufen zu bekommen. Alle anderen Container laufen, nur der Webserver kommt zum laufen. Er startet immer wieder neu. Im folgenden mein Fehlercode: (was mache ich bloß falsch)

[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-user] Mapping UID for paperless to 1026
[init-db-wait] Waiting for PostgreSQL to start…
[init-tesseract-langs] Checking if additional teseract languages needed
[init-tesseract-langs] No additional installs requested
db:5432 - accepting connections
[init-db-wait] Connected to PostgreSQL
[init-db-wait] Database is ready
[init-user] Mapping GID for paperless to 100
[init-folders] Running with root privileges, adjusting directories and permissions
mkdir: created directory ‚/tmp/paperless‘
changed ownership of ‚/usr/src/paperless/consume‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/Hausrat-,Haftpflicht_Vertragsunterlagen.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/Unfall_Vertragsunterlagen.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/2024-06-19 PayPal Beleg f‘$‚\303\274‘‚r Ihre Zahlung an Google Payment Ireland Ltd..pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/Beleg f‘$‚\303\274‘‚r Ihre Zahlung an Adobe Systems Software Ireland LTD.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/@delete‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/AOK-Behandlungsprogramm Curaplan Diabetes.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/Geburtsurkunde_Steve_Seidel.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/Pflegegeld-Nachweis.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/Bescheid Pflegegeld.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/Dokument-20240429080129.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/R‘$‚\303\274‘‚ckmeldung-2025.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/R‘$‚\303\274‘‚ckmeldung-Energie 2025.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/20260214_LV007662789_00141_Korrespondenz.pdf@SynoEAStream‘ from 1032:users to paperless:paperless
changed ownership of ‚/usr/src/paperless/consume/@eaDir/@tmp‘ from 1032:users to paperless:paperless
changed ownership of ‚/tmp/paperless‘ from root:root to paperless:paperless
[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
execute_from_command_line(sys.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/init.py“, line 442, in execute_from_command_line
utility.execute()
~~~~~~~~~~~~~~~^^
File „/usr/local/lib/python3.14/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.14/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.14/site-packages/django/core/management/base.py“, line 375, in create_parser
self.add_arguments(parser)
~~~~~~~~~~~~~~~~~~^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/commands/check.py“, line 47, in add_arguments
choices=tuple(connections),
~~~~~^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 73, in iter
return iter(self.settings)
^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/functional.py“, line 47, in get
res = instance.dict[self.name] = self.func(instance)
~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 45, in settings
self._settings = self.configure_settings(self._settings)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/db/utils.py“, line 148, in configure_settings
databases = super().configure_settings(databases)
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 50, in configure_settings
settings = getattr(django_settings, self.settings_name)
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 81, in getattr
self._setup(name)
~~~~~~~~~~~^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 68, in _setup
self._wrapped = Settings(settings_module)
~~~~~~~~^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 166, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File „/usr/local/lib/python3.14/importlib/init.py“, line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „“, line 1406, in _gcd_import
File „“, line 1371, in _find_and_load
File „“, line 1342, in _find_and_load_unlocked
File „“, line 938, in _load_unlocked
File „“, line 759, in exec_module
File „“, line 491, in _call_with_frames_removed
File „/usr/src/paperless/src/paperless/settings/init.py“, line 499, in
raise ImproperlyConfigured(
…<3 lines>…
)
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
execute_from_command_line(sys.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/init.py“, line 442, in execute_from_command_line
utility.execute()
~~~~~~~~~~~~~~~^^
File „/usr/local/lib/python3.14/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.14/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.14/site-packages/django/core/management/base.py“, line 375, in create_parser
self.add_arguments(parser)
~~~~~~~~~~~~~~~~~~^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/commands/check.py“, line 47, in add_arguments
choices=tuple(connections),
~~~~~^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 73, in iter
return iter(self.settings)
^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/functional.py“, line 47, in get
res = instance.dict[self.name] = self.func(instance)
~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 45, in settings
self._settings = self.configure_settings(self._settings)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/db/utils.py“, line 148, in configure_settings
databases = super().configure_settings(databases)
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 50, in configure_settings
settings = getattr(django_settings, self.settings_name)
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 81, in getattr
self._setup(name)
~~~~~~~~~~~^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 68, in _setup
self._wrapped = Settings(settings_module)
~~~~~~~~^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 166, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File „/usr/local/lib/python3.14/importlib/init.py“, line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „“, line 1406, in _gcd_import
File „“, line 1371, in _find_and_load
File „“, line 1342, in _find_and_load_unlocked
File „“, line 938, in _load_unlocked
File „“, line 759, in exec_module
File „“, line 491, in _call_with_frames_removed
File „/usr/src/paperless/src/paperless/settings/init.py“, line 499, in
raise ImproperlyConfigured(
…<3 lines>…
)
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-tesseract-langs] Checking if additional teseract languages needed
[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
execute_from_command_line(sys.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/init.py“, line 442, in execute_from_command_line
utility.execute()
~~~~~~~~~~~~~~~^^
File „/usr/local/lib/python3.14/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.14/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.14/site-packages/django/core/management/base.py“, line 375, in create_parser
self.add_arguments(parser)
~~~~~~~~~~~~~~~~~~^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/commands/check.py“, line 47, in add_arguments
choices=tuple(connections),
~~~~~^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 73, in iter
return iter(self.settings)
^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/functional.py“, line 47, in get
res = instance.dict[self.name] = self.func(instance)
~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 45, in settings
self._settings = self.configure_settings(self._settings)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/db/utils.py“, line 148, in configure_settings
databases = super().configure_settings(databases)
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 50, in configure_settings
settings = getattr(django_settings, self.settings_name)
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 81, in getattr
self._setup(name)
~~~~~~~~~~~^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 68, in _setup
self._wrapped = Settings(settings_module)
~~~~~~~~^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 166, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File „/usr/local/lib/python3.14/importlib/init.py“, line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „“, line 1406, in _gcd_import
File „“, line 1371, in _find_and_load
File „“, line 1342, in _find_and_load_unlocked
File „“, line 938, in _load_unlocked
File „“, line 759, in exec_module
File „“, line 491, in _call_with_frames_removed
File „/usr/src/paperless/src/paperless/settings/init.py“, line 499, in
raise ImproperlyConfigured(
…<3 lines>…
)
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
execute_from_command_line(sys.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/init.py“, line 442, in execute_from_command_line
utility.execute()
~~~~~~~~~~~~~~~^^
File „/usr/local/lib/python3.14/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.14/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.14/site-packages/django/core/management/base.py“, line 375, in create_parser
self.add_arguments(parser)
~~~~~~~~~~~~~~~~~~^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/core/management/commands/check.py“, line 47, in add_arguments
choices=tuple(connections),
~~~~~^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 73, in iter
return iter(self.settings)
^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/functional.py“, line 47, in get
res = instance.dict[self.name] = self.func(instance)
~~~~~~~~~^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 45, in settings
self._settings = self.configure_settings(self._settings)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/db/utils.py“, line 148, in configure_settings
databases = super().configure_settings(databases)
File „/usr/local/lib/python3.14/site-packages/django/utils/connection.py“, line 50, in configure_settings
settings = getattr(django_settings, self.settings_name)
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 81, in getattr
self._setup(name)
~~~~~~~~~~~^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 68, in _setup
self._wrapped = Settings(settings_module)
~~~~~~~~^^^^^^^^^^^^^^^^^
File „/usr/local/lib/python3.14/site-packages/django/conf/init.py“, line 166, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File „/usr/local/lib/python3.14/importlib/init.py“, line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File „“, line 1406, in _gcd_import
File „“, line 1371, in _find_and_load
File „“, line 1342, in _find_and_load_unlocked
File „“, line 938, in _load_unlocked
File „“, line 759, in exec_module
File „“, line 491, in _call_with_frames_removed
File „/usr/src/paperless/src/paperless/settings/init.py“, line 499, in
raise ImproperlyConfigured(
…<3 lines>…
)
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

Es steht doch Haarklein ganz genau da was das Problem ist und wie Du das lösen kannst.

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))“

Ich hoffe übrigens das Du mit Absicht auf die neue 3er Version gehen willst. Eigentlich gibt es dafür auch eine entsprechende Anleitung wo genau dieses neue Feature auch angesprochen wird.

Das Video von Stefan zum Update von V2 auf V3 kann ich persönlich wärmstens empfehlen! Habe mein Update genau so von V2 auf V3 ausgeführt und hat funktioniert. Lediglich der Punkt Redis vs. Valkey ist noch offen. Das ist aber kein Ding, weil das Update auf die V3 mit Redis einwandfrei funktioniert.

Den Secret Key habe ich bei mir nicht per Python generiert, weil ich die Sprache auf meinem Rechner nicht installiert habe und sie auch nicht installieren wollte - nur für die Erstellung des Keys. Ich habe dafür meinen Passwort-Safe genutzt, mit dem ich einen 64-stelligen Zufallscode aus Buchstaben, Zahlen und einigen Sonderzeichen generiert habe. Hat im Rahmen des Updates einwandfrei funktioniert.

läuft dein paperless auf einer synology oder ugreen ?