From ead796029b2589a6f2016edfee3816f4b2c683fe Mon Sep 17 00:00:00 2001 From: Asiananimal Date: Sun, 27 Oct 2024 05:57:50 +0000 Subject: [PATCH] Support for PUID/PGID --- Dockerfile | 10 ++++++---- docker/start.sh | 12 ++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 docker/start.sh diff --git a/Dockerfile b/Dockerfile index 0e5c0d275..4686afd22 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,9 +60,11 @@ RUN apt-get update && apt-get install -y --no-install-suggests \ && rm -rf /var/lib/apt/lists/* COPY --chown=node:node --from=builder /ghostfolio/dist/apps /ghostfolio/apps -COPY --chown=node:node ./docker/entrypoint.sh /ghostfolio/entrypoint.sh -RUN chmod 0700 /ghostfolio/entrypoint.sh +COPY --chown=node:node ./docker/entrypoint.sh ./docker/start.sh /ghostfolio +RUN chmod 0755 /ghostfolio/entrypoint.sh /ghostfolio/start.sh WORKDIR /ghostfolio/apps/api EXPOSE ${PORT:-3333} -USER node -CMD [ "/ghostfolio/entrypoint.sh" ] +RUN \ + groupadd -g 1001 ghostfolio && \ + useradd -u 1001 -g 1001 ghostfolio +ENTRYPOINT ["/ghostfolio/start.sh"] diff --git a/docker/start.sh b/docker/start.sh new file mode 100644 index 000000000..196bf8c5d --- /dev/null +++ b/docker/start.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +PUID=${PUID:-1000} +PGID=${PGID:-1000} + +groupmod -o -g "$PGID" node +usermod -o -u "$PUID" node + +find /config \! \( -uid $(id -u node) -gid $(id -g node) \) -print0 | xargs -0r chown node:node + +echo "Running Ghostfolio using using user node (uid=$(id -u node)) and group node (gid=$(id -g node))" +su node -g node -c "/ghostfolio/entrypoint.sh"