mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-05 21:07:58 +00:00
358d2143e2
On systems with safe umasks (`umask 077`), the entrypoint as copied from the host may not be executable by other users. Ensure that it is set to be within the Dockerfile.
31 lines
820 B
Docker
31 lines
820 B
Docker
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"]
|