aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile.strelaysrv
blob: 3c07fbb5f37e6f9be9a6a5eb1f266731cbd08e6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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"]