ARG GOVERSION=latest FROM golang:$GOVERSION AS builder WORKDIR /src 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/tcp 22000/udp 21027/udp VOLUME ["/var/syncthing"] RUN apk add --no-cache ca-certificates curl libcap su-exec tzdata COPY --from=builder /src/syncthing /bin/syncthing COPY --from=builder /src/script/docker-entrypoint.sh /bin/entrypoint.sh ENV PUID=1000 PGID=1000 HOME=/var/syncthing HEALTHCHECK --interval=1m --timeout=10s \ CMD curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1 ENV STGUIADDRESS=0.0.0.0:8384 RUN chmod 755 /bin/entrypoint.sh ENTRYPOINT ["/bin/entrypoint.sh", "/bin/syncthing", "-home", "/var/syncthing/config"]