mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-22 02:48:59 +00:00
5bb72dfe5d
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.
33 lines
715 B
Docker
33 lines
715 B
Docker
FROM golang:1.10 AS builder
|
|
|
|
WORKDIR /go/src/github.com/syncthing/syncthing
|
|
COPY . .
|
|
|
|
ENV CGO_ENABLED=0
|
|
ENV BUILD_HOST=syncthing.net
|
|
ENV BUILD_USER=docker
|
|
RUN rm -f syncthing && go run build.go build syncthing
|
|
|
|
FROM alpine
|
|
|
|
EXPOSE 8384 22000 21027/udp
|
|
|
|
VOLUME ["/var/syncthing"]
|
|
|
|
RUN apk add --no-cache ca-certificates
|
|
|
|
COPY --from=builder /go/src/github.com/syncthing/syncthing/syncthing /bin/syncthing
|
|
|
|
RUN apk update \
|
|
&& apk add su-exec
|
|
|
|
ENV STNOUPGRADE=1
|
|
ENV PUID=1000
|
|
ENV PGID=1000
|
|
|
|
HEALTHCHECK --interval=1m --timeout=10s \
|
|
CMD nc -z localhost 8384 || exit 1
|
|
|
|
ENTRYPOINT chown $PUID:$PGID /var/syncthing \
|
|
&& su-exec $PUID:$PGID /bin/syncthing -home /var/syncthing/config -gui-address 0.0.0.0:8384
|