From 09f3cfdb93e43ebdcffe05f3b05c0590c25ed9d9 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 22 Jan 2026 16:42:37 -0800 Subject: [PATCH] Start in migrator --- .../etc/s6-overlay/s6-rc.d/init-migrations/run | 5 +++++ .../etc/s6-overlay/s6-rc.d/init-system-checks/run | 12 ++++++++++-- .../rootfs/etc/s6-overlay/s6-rc.d/svc-webserver/run | 12 +++++++++--- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-migrations/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-migrations/run index 5d9b45740..607238d14 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-migrations/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-migrations/run @@ -8,6 +8,11 @@ echo "${log_prefix} Apply database migrations..." cd "${PAPERLESS_SRC_DIR}" +if [[ "${PAPERLESS_MIGRATION_MODE:-0}" == "1" ]]; then + echo "${log_prefix} Migration mode enabled, skipping migrations." + exit 0 +fi + # The whole migrate, with flock, needs to run as the right user if [[ -n "${USER_IS_NON_ROOT}" ]]; then exec s6-setlock -n "${data_dir}/migration_lock" python3 manage.py migrate --skip-checks --no-input diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-system-checks/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-system-checks/run index d024765cc..743be3dbc 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-system-checks/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-system-checks/run @@ -9,7 +9,15 @@ echo "${log_prefix} Running Django checks" cd "${PAPERLESS_SRC_DIR}" if [[ -n "${USER_IS_NON_ROOT}" ]]; then - python3 manage.py check + if [[ "${PAPERLESS_MIGRATION_MODE:-0}" == "1" ]]; then + python3 manage_migration.py check + else + python3 manage.py check + fi else - s6-setuidgid paperless python3 manage.py check + if [[ "${PAPERLESS_MIGRATION_MODE:-0}" == "1" ]]; then + s6-setuidgid paperless python3 manage_migration.py check + else + s6-setuidgid paperless python3 manage.py check + fi fi diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-webserver/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-webserver/run index 64b458150..0f9df3ed4 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-webserver/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-webserver/run @@ -13,8 +13,14 @@ if [[ -n "${PAPERLESS_FORCE_SCRIPT_NAME}" ]]; then export GRANIAN_URL_PATH_PREFIX=${PAPERLESS_FORCE_SCRIPT_NAME} fi -if [[ -n "${USER_IS_NON_ROOT}" ]]; then - exec granian --interface asginl --ws --loop uvloop "paperless.asgi:application" +if [[ "${PAPERLESS_MIGRATION_MODE:-0}" == "1" ]]; then + app_module="paperless.migration_asgi:application" else - exec s6-setuidgid paperless granian --interface asginl --ws --loop uvloop "paperless.asgi:application" + app_module="paperless.asgi:application" +fi + +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + exec granian --interface asginl --ws --loop uvloop "${app_module}" +else + exec s6-setuidgid paperless granian --interface asginl --ws --loop uvloop "${app_module}" fi