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 strelaysrv-linux-$TARGETARCH ] ; then \ go run build.go -no-upgrade build strelaysrv ; \ mv strelaysrv strelaysrv-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 Relay Server" EXPOSE 22067 22070 VOLUME ["/var/strelaysrv"] RUN apk add --no-cache ca-certificates su-exec COPY --from=builder /src/strelaysrv-linux-$TARGETARCH /bin/strelaysrv COPY --from=builder /src/script/docker-entrypoint.sh /bin/entrypoint.sh ENV PUID=1000 PGID=1000 HOME=/var/strelaysrv HEALTHCHECK --interval=1m --timeout=10s \ CMD nc -z localhost 22067 || exit 1 WORKDIR /var/strelaysrv ENTRYPOINT ["/bin/entrypoint.sh", "/bin/strelaysrv"]