From e45d98b1e32bdea0aa123847a57b63f042a0d53f Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri, 30 Oct 2026 09:23:18 -0700 Subject: [PATCH] Chore: Skip repeating Django system checks in the Docker consumer, scheduler and worker The init-system-checks step already runs them once and all three services depend on init-complete. Measured idle anon PSS saved on Python 3.14: consumer 14 MiB, beat 26 MiB, worker 27 MiB. --- docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run | 6 ++++-- docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run | 5 +++-- docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run | 5 +++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run index 209803d41..ab8d6b6df 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run @@ -10,9 +10,11 @@ if [[ -n "${PAPERLESS_CONSUMER_DISABLE}" ]]; then else cd ${PAPERLESS_SRC_DIR} + # Django system checks already ran once in init-system-checks, skip repeating them + if [[ -n "${USER_IS_NON_ROOT}" ]]; then - exec python3 manage.py document_consumer + exec python3 manage.py document_consumer --skip-checks else - exec s6-setuidgid paperless python3 manage.py document_consumer + exec s6-setuidgid paperless python3 manage.py document_consumer --skip-checks fi fi diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run index 396a4d2e0..a3f9da5d1 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run @@ -3,8 +3,9 @@ cd ${PAPERLESS_SRC_DIR} +# Django system checks already ran once in init-system-checks, skip repeating them if [[ -n "${USER_IS_NON_ROOT}" ]]; then - exec /usr/local/bin/celery --app paperless beat --loglevel INFO + exec /usr/local/bin/celery --skip-checks --app paperless beat --loglevel INFO else - exec s6-setuidgid paperless /usr/local/bin/celery --app paperless beat --loglevel INFO + exec s6-setuidgid paperless /usr/local/bin/celery --skip-checks --app paperless beat --loglevel INFO fi diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run index 0bf833c56..0fb5d0f23 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run @@ -3,8 +3,9 @@ cd ${PAPERLESS_SRC_DIR} +# Django system checks already ran once in init-system-checks, skip repeating them if [[ -n "${USER_IS_NON_ROOT}" ]]; then - exec /usr/local/bin/celery --app paperless worker --loglevel INFO --without-mingle --without-gossip + exec /usr/local/bin/celery --skip-checks --app paperless worker --loglevel INFO --without-mingle --without-gossip else - exec s6-setuidgid paperless /usr/local/bin/celery --app paperless worker --loglevel INFO --without-mingle --without-gossip + exec s6-setuidgid paperless /usr/local/bin/celery --skip-checks --app paperless worker --loglevel INFO --without-mingle --without-gossip fi