2021-11-10 01:20:58 +09:00
# Builder image
2022-07-07 04:23:01 +09:00
FROM --platform=$BUILDPLATFORM docker.io/golang:1.18.0-bullseye AS build
2022-06-18 18:36:09 +09:00
ARG VERSION = dev
2021-06-17 13:27:40 +09:00
ENV GOPATH /go
2021-10-27 15:40:39 +09:00
WORKDIR /go/src/headscale
2021-10-27 06:35:18 +09:00
2021-08-09 01:39:39 +09:00
COPY go.mod go.sum /go/src/headscale/
RUN go mod download
2021-10-27 06:35:18 +09:00
COPY . .
2022-07-07 04:23:01 +09: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 17:19:16 +09:00
RUN strip /go/bin/headscale
2021-06-17 13:27:40 +09:00
RUN test -e /go/bin/headscale
2021-11-10 01:20:58 +09:00
# Production image
2021-11-07 08:19:56 +09:00
FROM gcr.io/distroless/base-debian11
2021-10-23 01:56:23 +09:00
2021-11-14 07:10:58 +09:00
COPY --from= build /go/bin/headscale /bin/headscale
2021-06-17 13:27:40 +09:00
ENV TZ UTC
2021-08-09 01:39:39 +09:00
2021-06-17 13:27:40 +09:00
EXPOSE 8080/tcp
2021-11-10 01:20:58 +09:00
CMD [ "headscale" ]