2018-03-24 01:21:22 -07:00
|
|
|
FROM golang:1.10 AS builder
|
2018-02-04 14:43:14 -07:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2018-05-05 01:28:19 -07:00
|
|
|
EXPOSE 8384 22000 21027/udp
|
|
|
|
|
|
|
|
VOLUME ["/var/syncthing"]
|
|
|
|
|
2018-08-15 00:33:35 -07:00
|
|
|
RUN apk add --no-cache ca-certificates su-exec
|
2018-02-04 14:43:14 -07:00
|
|
|
|
|
|
|
COPY --from=builder /go/src/github.com/syncthing/syncthing/syncthing /bin/syncthing
|
|
|
|
|
2018-08-15 00:33:35 -07:00
|
|
|
ENV STNOUPGRADE=1 PUSR=syncthing PUID=1000 PGRP=syncthing PGID=1000
|
2018-02-04 14:43:14 -07:00
|
|
|
|
|
|
|
HEALTHCHECK --interval=1m --timeout=10s \
|
|
|
|
CMD nc -z localhost 8384 || exit 1
|
|
|
|
|
2018-07-20 06:45:40 -07:00
|
|
|
ENTRYPOINT true \
|
|
|
|
&& ( getent group "${PGRP}" >/dev/null \
|
|
|
|
|| addgroup \
|
|
|
|
-g "${PGID}" \
|
|
|
|
"${PGRP}" \
|
|
|
|
) \
|
|
|
|
&& ( getent passwd "${PUSR}" >/dev/null \
|
|
|
|
|| adduser \
|
|
|
|
-h /var/syncthing \
|
|
|
|
-G "${PGRP}" \
|
|
|
|
-u "${PUID}" \
|
|
|
|
"${PUSR}" \
|
|
|
|
) \
|
|
|
|
&& chown "${PUSR}:${PGRP}" /var/syncthing \
|
|
|
|
&& su-exec "${PUSR}:${PGRP}" \
|
|
|
|
/bin/syncthing \
|
|
|
|
-home /var/syncthing/config \
|
|
|
|
-gui-address 0.0.0.0:8384 \
|
|
|
|
&& true
|