Dockerfile 820 B

12345678910111213141516171819202122232425262728293031
  1. ARG GOVERSION=latest
  2. FROM golang:$GOVERSION AS builder
  3. WORKDIR /src
  4. COPY . .
  5. ENV CGO_ENABLED=0
  6. ENV BUILD_HOST=syncthing.net
  7. ENV BUILD_USER=docker
  8. RUN rm -f syncthing && go run build.go -no-upgrade build syncthing
  9. FROM alpine
  10. EXPOSE 8384 22000/tcp 22000/udp 21027/udp
  11. VOLUME ["/var/syncthing"]
  12. RUN apk add --no-cache ca-certificates curl libcap su-exec tzdata
  13. COPY --from=builder /src/syncthing /bin/syncthing
  14. COPY --from=builder /src/script/docker-entrypoint.sh /bin/entrypoint.sh
  15. ENV PUID=1000 PGID=1000 HOME=/var/syncthing
  16. HEALTHCHECK --interval=1m --timeout=10s \
  17. CMD curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1
  18. ENV STGUIADDRESS=0.0.0.0:8384
  19. RUN chmod 755 /bin/entrypoint.sh
  20. ENTRYPOINT ["/bin/entrypoint.sh", "/bin/syncthing", "-home", "/var/syncthing/config"]