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