ARG GOVERSION=latest FROM golang:$GOVERSION AS builder ARG BUILD_USER ARG BUILD_HOST ARG TARGETARCH WORKDIR /src COPY . . ENV CGO_ENABLED=0 RUN if [ ! -f stdiscosrv-linux-$TARGETARCH ] ; then \ go run build.go -no-upgrade build stdiscosrv ; \ mv stdiscosrv stdiscosrv-linux-$TARGETARCH ; \ fi FROM alpine ARG TARGETARCH LABEL org.opencontainers.image.authors="The Syncthing Project" \ org.opencontainers.image.url="https://syncthing.net" \ org.opencontainers.image.documentation="https://docs.syncthing.net" \ org.opencontainers.image.source="https://github.com/syncthing/syncthing" \ org.opencontainers.image.vendor="The Syncthing Project" \ org.opencontainers.image.licenses="MPL-2.0" \ org.opencontainers.image.title="Syncthing Discovery Server" EXPOSE 19200 8443 VOLUME ["/var/stdiscosrv"] RUN apk add --no-cache ca-certificates su-exec COPY --from=builder /src/stdiscosrv-linux-$TARGETARCH /bin/stdiscosrv COPY --from=builder /src/script/docker-entrypoint.sh /bin/entrypoint.sh ENV PUID=1000 PGID=1000 HOME=/var/stdiscosrv HEALTHCHECK --interval=1m --timeout=10s \ CMD nc -z localhost 8443 || exit 1 WORKDIR /var/stdiscosrv ENTRYPOINT ["/bin/entrypoint.sh", "/bin/stdiscosrv"]