diff options
author | 羽先生 <8655163+VergilGao@users.noreply.github.com> | 2022-06-05 09:55:22 +0800 |
---|---|---|
committer | 羽先生 <8655163+VergilGao@users.noreply.github.com> | 2022-06-05 09:55:22 +0800 |
commit | efb0001708a03dd115c9c478c596c2dcc09843ef (patch) | |
tree | 339e39b3cf32a46cbae04d391b51bc031cac8972 /docker-entrypoint.sh | |
parent | add default timezone env parameter (diff) | |
download | metube-efb0001708a03dd115c9c478c596c2dcc09843ef.tar.gz metube-efb0001708a03dd115c9c478c596c2dcc09843ef.tar.bz2 metube-efb0001708a03dd115c9c478c596c2dcc09843ef.zip |
Use legacy mode when user runs with `--user` parameter, otherwise, use `su-exec`
Diffstat (limited to 'docker-entrypoint.sh')
-rw-r--r-- | docker-entrypoint.sh | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index f6347a2..8055f9c 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,19 +1,18 @@ #!/bin/sh -USER=metube +echo "You are running with user `id -u`:`id -g`" -echo "---Setup Timezone to ${TZ}---" -echo "${TZ}" > /etc/timezone -echo "---Checking if UID: ${UID} matches user---" -usermod -o -u ${UID} ${USER} -echo "---Checking if GID: ${GID} matches user---" -groupmod -o -g ${GID} ${USER} > /dev/null 2>&1 ||: -usermod -g ${GID} ${USER} -echo "---Setting umask to ${UMASK}---" -umask ${UMASK} - -mkdir -p ${DOWNLOAD_DIR} ${STATE_DIR} - -chown -R ${UID}:${GID} /app ${DOWNLOAD_DIR} ${STATE_DIR} - -gosu ${USER} python3 app/main.py +if [ `id -u` -eq 0 ] && [ `id -g` -eq 0 ]; then + echo "Running in New Mode" + if [ "${UID}" -eq 0 ]; then + echo "Waring, it is not recommended to run as root user, please check if you have set the UID environment variable" + fi + echo "Setting umask to ${UMASK}" + umask ${UMASK} + mkdir -p "${DOWNLOAD_DIR}" "${STATE_DIR}" + chown -R "${UID}":"${GID}" /app "${DOWNLOAD_DIR}" "${STATE_DIR}" + su-exec "${UID}":"${GID}" python3 app/main.py +else + echo "Running in Legacy Mode" + python3 app/main.py +fi |