2021-11-09 17:20:58 +01:00
# Builder image
2022-07-06 21:23:01 +02:00
FROM --platform=$BUILDPLATFORM docker.io/golang:1.18.0-bullseye AS build
2022-06-18 11:36:09 +02:00
ARG VERSION = dev
2021-06-17 06:27:40 +02:00
ENV GOPATH /go
2021-10-27 08:40:39 +02:00
WORKDIR /go/src/headscale
2021-10-26 23:35:18 +02:00
2021-08-08 18:39:39 +02:00
COPY go.mod go.sum /go/src/headscale/
RUN go mod download
2021-10-26 23:35:18 +02:00
COPY . .
2022-07-06 21:23:01 +02:00
ARG TARGETOS TARGETARCH
RUN CGO_ENABLED = 0 GOOS = $TARGETOS GOARCH = $TARGETARCH go install -ldflags= " -s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version= $VERSION " -a ./cmd/headscale
2022-01-14 09:19:16 +01:00
RUN strip /go/bin/headscale
2021-06-17 06:27:40 +02:00
RUN test -e /go/bin/headscale
2021-11-09 17:20:58 +01:00
# Production image
2021-11-07 00:19:56 +01:00
FROM gcr.io/distroless/base-debian11
2021-10-22 18:56:23 +02:00
2021-11-13 23:10:58 +01:00
COPY --from= build /go/bin/headscale /bin/headscale
2021-06-17 06:27:40 +02:00
ENV TZ UTC
2021-08-08 18:39:39 +02:00
2021-06-17 06:27:40 +02:00
EXPOSE 8080/tcp
2021-11-09 17:20:58 +01:00
CMD [ "headscale" ]