diff --git a/backend/Dockerfile b/backend/Dockerfile index d4ce0c5..645b877 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,9 +1,10 @@ FROM alpine:3.12 -ENV UID=1000 GID=1000 -RUN export user=youtube \ - && addgroup -S $user -g $GID && adduser -D -S $user -G $user -u $UID -USER $user +ENV UID=1000 \ + GID=1000 \ + USER=youtube + +RUN addgroup -S $USER -g $GID && adduser -D -S $USER -G $USER -u $UID RUN apk add --no-cache \ ffmpeg \ @@ -14,12 +15,13 @@ RUN apk add --no-cache \ atomicparsley WORKDIR /app - COPY --chown=$UID:$GID [ "package.json", "package-lock.json", "/app/" ] -RUN npm install + +RUN npm install && chown -R $UID:$GID ./ COPY --chown=$UID:$GID [ "./", "/app/" ] EXPOSE 17442 + ENTRYPOINT [ "/app/entrypoint.sh" ] CMD [ "node", "app.js" ] diff --git a/backend/app.js b/backend/app.js index 1bec5c7..d43f9bc 100644 --- a/backend/app.js +++ b/backend/app.js @@ -1745,7 +1745,10 @@ async function autoUpdateYoutubeDL() { resolve(true); }); } - + }) + .catch(err => { + logger.error('Failed to check youtube-dl version for an update.') + logger.error(err) }); }); } diff --git a/backend/entrypoint.sh b/backend/entrypoint.sh index 137e984..51df772 100755 --- a/backend/entrypoint.sh +++ b/backend/entrypoint.sh @@ -9,7 +9,7 @@ if [ "${1#-}" != "$1" ]; then fi # chown current working directory to current user -if [ "$@" = "$CMD" ] && [ "$(id -u)" = "0" ]; then +if [ "$*" = "$CMD" ] && [ "$(id -u)" = "0" ]; then find . \! -user "$UID" -exec chown "$UID:$GID" -R '{}' + exec su-exec "$UID:$GID" "$0" "$@" fi