docker: Add configurable UID and GID (#5041)

Allows for configuring the UID and GID Syncthing runs as in the container. Uses su-exec from the Alpine repos to accomplish this. Addition of su-exec results in <2MB increase in image size.
This commit is contained in:
Andrew Rabert 2018-07-04 02:42:29 -04:00 committed by Jakob Borg
parent 0b73a66516
commit 5bb72dfe5d
2 changed files with 8 additions and 8 deletions

View File

@ -18,15 +18,15 @@ RUN apk add --no-cache ca-certificates
COPY --from=builder /go/src/github.com/syncthing/syncthing/syncthing /bin/syncthing COPY --from=builder /go/src/github.com/syncthing/syncthing/syncthing /bin/syncthing
RUN echo 'syncthing:x:1000:1000::/var/syncthing:/sbin/nologin' >> /etc/passwd \ RUN apk update \
&& echo 'syncthing:!::0:::::' >> /etc/shadow \ && apk add su-exec
&& chown syncthing /var/syncthing
USER syncthing
ENV STNOUPGRADE=1 ENV STNOUPGRADE=1
ENV PUID=1000
ENV PGID=1000
HEALTHCHECK --interval=1m --timeout=10s \ HEALTHCHECK --interval=1m --timeout=10s \
CMD nc -z localhost 8384 || exit 1 CMD nc -z localhost 8384 || exit 1
ENTRYPOINT ["/bin/syncthing", "-home", "/var/syncthing/config", "-gui-address", "0.0.0.0:8384"] ENTRYPOINT chown $PUID:$PGID /var/syncthing \
&& su-exec $PUID:$PGID /bin/syncthing -home /var/syncthing/config -gui-address 0.0.0.0:8384

View File

@ -11,8 +11,8 @@ The exposed volumes are by default:
You can add more folders and map them as you prefer. You can add more folders and map them as you prefer.
Note that Syncthing runs as UID 1000 in the container. This UID must have Note that Syncthing runs as UID 1000 and GID 1000 by default. These may be
permission to read and modify the files in the containers. altered with the ``PUID`` and ``PGID`` environment variables.
Example usage: Example usage: