Skip to content

Commit

Permalink
docker: Add configurable UID and GID (syncthing#5041)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
nvllsvm authored and calmh committed Jul 4, 2018
1 parent 0b73a66 commit 5bb72df
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
12 changes: 6 additions & 6 deletions Dockerfile
Expand Up @@ -18,15 +18,15 @@ RUN apk add --no-cache ca-certificates

COPY --from=builder /go/src/github.com/syncthing/syncthing/syncthing /bin/syncthing

RUN echo 'syncthing:x:1000:1000::/var/syncthing:/sbin/nologin' >> /etc/passwd \
&& echo 'syncthing:!::0:::::' >> /etc/shadow \
&& chown syncthing /var/syncthing
RUN apk update \
&& apk add su-exec

USER syncthing
ENV STNOUPGRADE=1
ENV PUID=1000
ENV PGID=1000

HEALTHCHECK --interval=1m --timeout=10s \
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
4 changes: 2 additions & 2 deletions README-Docker.md
Expand Up @@ -11,8 +11,8 @@ The exposed volumes are by default:

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
permission to read and modify the files in the containers.
Note that Syncthing runs as UID 1000 and GID 1000 by default. These may be
altered with the ``PUID`` and ``PGID`` environment variables.

Example usage:

Expand Down

0 comments on commit 5bb72df

Please sign in to comment.