From 6a9098ab3296326e62ff7005bbb0085ced5e7b4f Mon Sep 17 00:00:00 2001 From: Lachlan Wisdom <34927628+its-wizza@users.noreply.github.com> Date: Tue, 13 Jan 2026 22:21:27 +1100 Subject: [PATCH] Update ownership handling in docker-entrypoint.sh Refactor ownership change logic for directories --- docker-entrypoint.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 7e4efea..796565d 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -2,6 +2,12 @@ echo "Setting umask to ${UMASK}" umask ${UMASK} + +DOWNLOAD_DIR_CREATED=false +if [ ! -d "${DOWNLOAD_DIR}" ]; then + DOWNLOAD_DIR_CREATED=true +fi + echo "Creating download directory (${DOWNLOAD_DIR}), state directory (${STATE_DIR}), and temp dir (${TEMP_DIR})" mkdir -p "${DOWNLOAD_DIR}" "${STATE_DIR}" "${TEMP_DIR}" @@ -9,8 +15,15 @@ if [ `id -u` -eq 0 ] && [ `id -g` -eq 0 ]; then if [ "${UID}" -eq 0 ]; then echo "Warning: it is not recommended to run as root user, please check your setting of the UID environment variable" fi - echo "Changing ownership of download and state directories to ${UID}:${GID}" - chown -R "${UID}":"${GID}" /app "${DOWNLOAD_DIR}" "${STATE_DIR}" "${TEMP_DIR}" + + echo "Changing ownership of state directories to ${UID}:${GID}" + chown -R "${UID}":"${GID}" /app "${STATE_DIR}" "${TEMP_DIR}" + + if [ "${CHOWN_DOWNLOAD_DIR:-true}" != "false" ] || [ "${DOWNLOAD_DIR_CREATED}" = "true" ]; then + echo "Changing ownership of download directory (${DOWNLOAD_DIR})" + chown -R "${UID}:${GID}" "${DOWNLOAD_DIR}" + fi + echo "Running MeTube as user ${UID}:${GID}" exec su-exec "${UID}":"${GID}" python3 app/main.py else