Fix Docker image to work with rootless Docker environments

This commit is contained in:
James Mills 2023-08-06 11:11:29 +10:00
parent b137b085d4
commit a69c3f300c
No known key found for this signature in database
GPG Key ID: AC4C014F1440EBD6
2 changed files with 11 additions and 7 deletions

View File

@ -1,9 +1,15 @@
#!/bin/sh
[ -n "${PUID}" ] && usermod -u "${PUID}" zs
[ -n "${PGID}" ] && groupmod -g "${PGID}" zs
if [ "$(id -u)" -eq 0 ]; then
[ -n "${PUID}" ] && usermod -u "${PUID}" nobody
[ -n "${PGID}" ] && groupmod -g "${PGID}" nobody
fi
printf "Configuring zs...\n"
printf "Switching UID=%s and GID=%s\n" "${PUID}" "${PGID}"
exec su-exec zs:zs "$@"
if [ "$(id -u)" -eq 0 ]; then
printf "Switching UID=%s and GID=%s\n" "$(id -u nobody)" "$(id -g nobody)"
exec su-exec nobody:nobody "$@"
else
exec zs "$@"
fi

View File

@ -50,9 +50,7 @@ RUN apk --no-cache -U add su-exec shadow tzdata ca-certificates curl jq
ENV PUID=1000
ENV PGID=1000
RUN addgroup -g "${PGID}" zs && \
adduser -D -H -G zs -h /var/empty -u "${PUID}" zs && \
mkdir -p /data && chown -R zs:zs /data
RUN mkdir -p /data && chown -R nobody:nobody /data
EXPOSE 8000/tcp