From e6715081dd41e193a04f000c22e18e5833dfb4fc Mon Sep 17 00:00:00 2001 From: DDSRem <1448139087@qq.com> Date: Fri, 16 Jun 2023 11:41:29 +0800 Subject: [PATCH] feat: add PUID PGID UMASK settings to image --- Dockerfile | 19 ++++++++++++------- entrypoint.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index fe2e00598..c63362356 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,19 +14,24 @@ RUN apk update && \ apk add --no-cache --update \ curl \ tzdata \ - ffmpeg + ffmpeg \ + bash \ + jq \ + shadow \ + su-exec \ + dumb-init && \ + usermod --shell /bin/bash node && \ + rm -rf /var/cache/apk/* COPY --from=tone /usr/local/bin/tone /usr/local/bin/ COPY --from=build /client/dist /client/dist COPY index.js package* / COPY server server +COPY --chmod=755 entrypoint.sh /entrypoint.sh RUN npm ci --only=production -EXPOSE 80 -HEALTHCHECK \ - --interval=30s \ - --timeout=3s \ - --start-period=10s \ - CMD curl -f http://127.0.0.1/healthcheck || exit 1 +ENTRYPOINT [ "/entrypoint.sh" ] CMD ["node", "index.js"] + +EXPOSE 80 \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 000000000..73ba19ffa --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +UMASK=${UMASK:-022} +PUID=${PUID:-1000} +PGID=${PGID:-1000} + +umask ${UMASK} + +if [ ! -d /config ]; then + mkdir /config +fi +if [ ! -d /metadata ]; then + mkdir /metadata +fi +if [ ! -d /audiobooks ]; then + mkdir /audiobooks +fi +if [ ! -d /podcasts ]; then + mkdir /podcasts +fi + +echo "Change owner to user AudioBookShelf..." +echo "PUID=${PUID}" +echo "PGID=${PGID}" + +groupmod -o -g ${PGID} node +usermod -o -u ${PUID} node + +chown -R node:node \ + /config \ + /metadata +chown node:node \ + /audiobooks \ + /podcasts + +exec su-exec node:node dumb-init $* \ No newline at end of file