a43bb1bb40
This commit makes several changes to the dockerfile: - Add go.mod and go.sum in a seperate stage, subsequently calling `go mod download` to make it cache dependencies and speed up builds - Use ubuntu:latest (28MB larger) instead of scratch, makes the image a lot easier to debug (e.g. it has a shell and a package manager) - Change ENTRYPOINT to CMD, this makes the behaviour of the image slightly different from a CLI perspective, but makes interacting with the image from code, docker-compose and kubernetes easier.
19 lines
417 B
Docker
19 lines
417 B
Docker
FROM golang:latest AS build
|
|
ENV GOPATH /go
|
|
|
|
COPY go.mod go.sum /go/src/headscale/
|
|
WORKDIR /go/src/headscale
|
|
RUN go mod download
|
|
|
|
COPY . /go/src/headscale
|
|
|
|
RUN go install -a -ldflags="-extldflags=-static" -tags netgo,sqlite_omit_load_extension ./cmd/headscale
|
|
RUN test -e /go/bin/headscale
|
|
|
|
FROM ubuntu:latest
|
|
|
|
COPY --from=build /go/bin/headscale /usr/local/bin/headscale
|
|
ENV TZ UTC
|
|
|
|
EXPOSE 8080/tcp
|
|
CMD ["headscale"]
|