From 94f6b8d36d1cee8f121946fb591488b55141d93e Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri, 23 Jan 2026 16:08:28 -0800 Subject: [PATCH] Fixes the management scripts under a non-root install where the user ID is something besides 1000 (#11870) --- docker/management_script.sh | 8 +++----- docker/rootfs/usr/local/bin/convert_mariadb_uuid | 8 +++----- docker/rootfs/usr/local/bin/createsuperuser | 8 +++----- docker/rootfs/usr/local/bin/decrypt_documents | 8 +++----- docker/rootfs/usr/local/bin/document_archiver | 8 +++----- docker/rootfs/usr/local/bin/document_create_classifier | 8 +++----- docker/rootfs/usr/local/bin/document_exporter | 8 +++----- docker/rootfs/usr/local/bin/document_fuzzy_match | 8 +++----- docker/rootfs/usr/local/bin/document_importer | 8 +++----- docker/rootfs/usr/local/bin/document_index | 8 +++----- docker/rootfs/usr/local/bin/document_renamer | 8 +++----- docker/rootfs/usr/local/bin/document_retagger | 8 +++----- docker/rootfs/usr/local/bin/document_sanity_checker | 8 +++----- docker/rootfs/usr/local/bin/document_thumbnails | 8 +++----- docker/rootfs/usr/local/bin/mail_fetcher | 8 +++----- docker/rootfs/usr/local/bin/manage_superuser | 8 +++----- docker/rootfs/usr/local/bin/prune_audit_logs | 8 +++----- 17 files changed, 51 insertions(+), 85 deletions(-) diff --git a/docker/management_script.sh b/docker/management_script.sh index 1fa31c372..91a6336d0 100755 --- a/docker/management_script.sh +++ b/docker/management_script.sh @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py management_command "$@" -elif [[ $(id -un) == "paperless" ]]; then +if [[ -n "${USER_IS_NON_ROOT}" ]]; then python3 manage.py management_command "$@" -else - echo "Unknown user." +elif [[ $(id -un) == "paperless" ]]; then + s6-setuidgid paperless python3 manage.py management_command "$@" fi diff --git a/docker/rootfs/usr/local/bin/convert_mariadb_uuid b/docker/rootfs/usr/local/bin/convert_mariadb_uuid index 806a98f3b..019c558f1 100755 --- a/docker/rootfs/usr/local/bin/convert_mariadb_uuid +++ b/docker/rootfs/usr/local/bin/convert_mariadb_uuid @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py convert_mariadb_uuid "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py convert_mariadb_uuid "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py convert_mariadb_uuid "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py convert_mariadb_uuid "$@" fi diff --git a/docker/rootfs/usr/local/bin/createsuperuser b/docker/rootfs/usr/local/bin/createsuperuser index f931952ba..2b56869f6 100755 --- a/docker/rootfs/usr/local/bin/createsuperuser +++ b/docker/rootfs/usr/local/bin/createsuperuser @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py createsuperuser "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py createsuperuser "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py createsuperuser "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py createsuperuser "$@" fi diff --git a/docker/rootfs/usr/local/bin/decrypt_documents b/docker/rootfs/usr/local/bin/decrypt_documents index 4da1549ee..27f0a21fe 100755 --- a/docker/rootfs/usr/local/bin/decrypt_documents +++ b/docker/rootfs/usr/local/bin/decrypt_documents @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py decrypt_documents "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py decrypt_documents "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py decrypt_documents "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py decrypt_documents "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_archiver b/docker/rootfs/usr/local/bin/document_archiver index 383acfcc6..8d7771d26 100755 --- a/docker/rootfs/usr/local/bin/document_archiver +++ b/docker/rootfs/usr/local/bin/document_archiver @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_archiver "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_archiver "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_archiver "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_archiver "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_create_classifier b/docker/rootfs/usr/local/bin/document_create_classifier index 72dc33d6f..23acc6741 100755 --- a/docker/rootfs/usr/local/bin/document_create_classifier +++ b/docker/rootfs/usr/local/bin/document_create_classifier @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_create_classifier "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_create_classifier "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_create_classifier "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_create_classifier "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_exporter b/docker/rootfs/usr/local/bin/document_exporter index 7f48215d7..d55f01d48 100755 --- a/docker/rootfs/usr/local/bin/document_exporter +++ b/docker/rootfs/usr/local/bin/document_exporter @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_exporter "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_exporter "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_exporter "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_exporter "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_fuzzy_match b/docker/rootfs/usr/local/bin/document_fuzzy_match index 5b9548557..c6e4edadc 100755 --- a/docker/rootfs/usr/local/bin/document_fuzzy_match +++ b/docker/rootfs/usr/local/bin/document_fuzzy_match @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_fuzzy_match "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_fuzzy_match "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_fuzzy_match "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_fuzzy_match "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_importer b/docker/rootfs/usr/local/bin/document_importer index 2286e89f7..07c92bb04 100755 --- a/docker/rootfs/usr/local/bin/document_importer +++ b/docker/rootfs/usr/local/bin/document_importer @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_importer "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_importer "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_importer "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_importer "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_index b/docker/rootfs/usr/local/bin/document_index index 2d518b5c5..47c893c10 100755 --- a/docker/rootfs/usr/local/bin/document_index +++ b/docker/rootfs/usr/local/bin/document_index @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_index "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_index "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_index "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_index "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_renamer b/docker/rootfs/usr/local/bin/document_renamer index 326317a73..3406182ee 100755 --- a/docker/rootfs/usr/local/bin/document_renamer +++ b/docker/rootfs/usr/local/bin/document_renamer @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_renamer "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_renamer "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_renamer "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_renamer "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_retagger b/docker/rootfs/usr/local/bin/document_retagger index 3bab3e790..b0d1047ff 100755 --- a/docker/rootfs/usr/local/bin/document_retagger +++ b/docker/rootfs/usr/local/bin/document_retagger @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_retagger "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_retagger "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_retagger "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_retagger "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_sanity_checker b/docker/rootfs/usr/local/bin/document_sanity_checker index 5c0c29ef2..d792124fc 100755 --- a/docker/rootfs/usr/local/bin/document_sanity_checker +++ b/docker/rootfs/usr/local/bin/document_sanity_checker @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_sanity_checker "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_sanity_checker "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_sanity_checker "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_sanity_checker "$@" fi diff --git a/docker/rootfs/usr/local/bin/document_thumbnails b/docker/rootfs/usr/local/bin/document_thumbnails index c1000c31a..71d80e00d 100755 --- a/docker/rootfs/usr/local/bin/document_thumbnails +++ b/docker/rootfs/usr/local/bin/document_thumbnails @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py document_thumbnails "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_thumbnails "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py document_thumbnails "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py document_thumbnails "$@" fi diff --git a/docker/rootfs/usr/local/bin/mail_fetcher b/docker/rootfs/usr/local/bin/mail_fetcher index 2ae1d1dfb..654c07389 100755 --- a/docker/rootfs/usr/local/bin/mail_fetcher +++ b/docker/rootfs/usr/local/bin/mail_fetcher @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py mail_fetcher "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py mail_fetcher "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py mail_fetcher "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py mail_fetcher "$@" fi diff --git a/docker/rootfs/usr/local/bin/manage_superuser b/docker/rootfs/usr/local/bin/manage_superuser index 9f7f37ecf..a6e41168c 100755 --- a/docker/rootfs/usr/local/bin/manage_superuser +++ b/docker/rootfs/usr/local/bin/manage_superuser @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py manage_superuser "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py manage_superuser "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py manage_superuser "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py manage_superuser "$@" fi diff --git a/docker/rootfs/usr/local/bin/prune_audit_logs b/docker/rootfs/usr/local/bin/prune_audit_logs index b9142e98e..04446df17 100755 --- a/docker/rootfs/usr/local/bin/prune_audit_logs +++ b/docker/rootfs/usr/local/bin/prune_audit_logs @@ -5,10 +5,8 @@ set -e cd "${PAPERLESS_SRC_DIR}" -if [[ $(id -u) == 0 ]]; then - s6-setuidgid paperless python3 manage.py prune_audit_logs "$@" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py prune_audit_logs "$@" elif [[ $(id -un) == "paperless" ]]; then - python3 manage.py prune_audit_logs "$@" -else - echo "Unknown user." + s6-setuidgid paperless python3 manage.py prune_audit_logs "$@" fi