From 649d4cf7b07f9240773685823f7b7acd09ce7e22 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sun, 4 Feb 2018 22:43:14 +0100 Subject: [PATCH] dockerfile: Add Dockerfile (#4733) This adds a multi stage build Dockerfile. The end state is equivalent to the current syncthing/docker repository (which will be retired). --- Dockerfile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..edf9904a0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +FROM golang:1.9 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 build syncthing + +FROM alpine + +RUN apk add --no-cache ca-certificates + +COPY --from=builder /go/src/github.com/syncthing/syncthing/syncthing /bin/syncthing + +RUN echo 'syncthing:x:1000:1000::/var/syncthing:/sbin/nologin' >> /etc/passwd \ + && echo 'syncthing:!::0:::::' >> /etc/shadow \ + && mkdir /var/syncthing \ + && chown syncthing /var/syncthing + +USER syncthing +ENV STNOUPGRADE=1 + +HEALTHCHECK --interval=1m --timeout=10s \ + CMD nc -z localhost 8384 || exit 1 + +ENTRYPOINT ["/bin/syncthing", "-home", "/var/syncthing/config", "-gui-address", "0.0.0.0:8384"] +