mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-05-23 12:58:18 -05:00
35 lines
1.3 KiB
Plaintext
Executable File
35 lines
1.3 KiB
Plaintext
Executable File
#!/command/with-contenv /usr/bin/bash
|
|
# shellcheck shell=bash
|
|
|
|
cd ${PAPERLESS_SRC_DIR}
|
|
|
|
# 1) Figure out the address we'll use:
|
|
if [[ -n "${PAPERLESS_BIND_ADDR:-}" && "${PAPERLESS_BIND_ADDR}" == \[*\] ]]; then
|
|
# PAPERLESS_BIND_ADDR is set and wrapped in [...]
|
|
echo "Warning: stripping surrounding brackets from PAPERLESS_BIND_ADDR='${PAPERLESS_BIND_ADDR}'" >&2
|
|
addr="${PAPERLESS_BIND_ADDR#[}" # remove leading “[”
|
|
addr="${addr%]}" # remove trailing “]”
|
|
elif [[ -n "${PAPERLESS_BIND_ADDR:-}" ]]; then
|
|
# PAPERLESS_BIND_ADDR is set but not bracketed
|
|
addr="$PAPERLESS_BIND_ADDR"
|
|
else
|
|
# neither PAPERLESS_BIND_ADDR nor GRANIAN_HOST was set → default
|
|
addr="::"
|
|
fi
|
|
|
|
# Translate between things, preferring GRANIAN_
|
|
export GRANIAN_HOST="${GRANIAN_HOST:-$addr}"
|
|
export GRANIAN_PORT=${GRANIAN_PORT:-${PAPERLESS_PORT:-8000}}
|
|
export GRANIAN_WORKERS=${GRANIAN_WORKERS:-${PAPERLESS_WEBSERVER_WORKERS:-1}}
|
|
|
|
# Only set GRANIAN_URL_PATH_PREFIX if PAPERLESS_FORCE_SCRIPT_NAME is set
|
|
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"
|
|
else
|
|
exec s6-setuidgid paperless granian --interface asginl --ws --loop uvloop "paperless.asgi:application"
|
|
fi
|