mirror of
https://github.com/syncthing/syncthing.git
synced 2024-11-16 10:28:49 -07:00
60a6a40175
This removes the user and group juggling, which would fail when given for example a PGID that already existed as the "syncthing" group could then not be created with that PGID. It's not reasonable to expect the user to know which group/user names/IDs are already present in the Docker image. Instead we now just launch under the specified IDs, while manually setting the HOME env var to give us a home directory - the only thing we needed the user entry for anyway. Also updates to Go 1.11 and building without upgrades instead of disabling by env var.
33 lines
742 B
Docker
33 lines
742 B
Docker
FROM golang:1.11 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 -no-upgrade build syncthing
|
|
|
|
FROM alpine
|
|
|
|
EXPOSE 8384 22000 21027/udp
|
|
|
|
VOLUME ["/var/syncthing"]
|
|
|
|
RUN apk add --no-cache ca-certificates su-exec
|
|
|
|
COPY --from=builder /go/src/github.com/syncthing/syncthing/syncthing /bin/syncthing
|
|
|
|
ENV PUID=1000 PGID=1000
|
|
|
|
HEALTHCHECK --interval=1m --timeout=10s \
|
|
CMD nc -z localhost 8384 || exit 1
|
|
|
|
ENTRYPOINT \
|
|
chown "${PUID}:${PGID}" /var/syncthing \
|
|
&& su-exec "${PUID}:${PGID}" \
|
|
env HOME=/var/syncthing \
|
|
/bin/syncthing \
|
|
-home /var/syncthing/config \
|
|
-gui-address 0.0.0.0:8384
|