# Builder image FROM docker.io/golang:1.17.1-alpine AS build ENV GOPATH /go WORKDIR /go/src/headscale COPY go.mod go.sum /go/src/headscale/ RUN apk add gcc musl-dev RUN go mod download COPY . . RUN go install -a -ldflags="-extldflags=-static" -tags netgo,sqlite_omit_load_extension ./cmd/headscale RUN strip /go/bin/headscale RUN test -e /go/bin/headscale # Production image FROM docker.io/alpine:latest COPY --from=build /go/bin/headscale /bin/headscale ENV TZ UTC EXPOSE 8080/tcp CMD ["headscale"]