Skip to content

Commit

Permalink
remove multistep build, build go last, allowing cached build layers (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
kradalby authored Apr 24, 2024
1 parent 318d5d2 commit c62d557
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions Dockerfile.debug
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,24 @@
# and are in no way endorsed by Headscale's maintainers as an
# official nor supported release or distribution.

FROM docker.io/golang:1.22-bookworm AS build
FROM docker.io/golang:1.22-bookworm
ARG VERSION=dev
ENV GOPATH /go
WORKDIR /go/src/headscale

COPY go.mod go.sum /go/src/headscale/
RUN go mod download

COPY . .

RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale
RUN test -e /go/bin/headscale

# Debug image
FROM docker.io/golang:1.22-bookworm

COPY --from=build /go/bin/headscale /bin/headscale
ENV TZ UTC

RUN apt-get update \
&& apt-get install --no-install-recommends --yes less jq \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean
RUN mkdir -p /var/run/headscale

COPY go.mod go.sum /go/src/headscale/
RUN go mod download

COPY . .

RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale && test -e /go/bin/headscale

# Need to reset the entrypoint or everything will run as a busybox script
ENTRYPOINT []
EXPOSE 8080/tcp
Expand Down

0 comments on commit c62d557

Please sign in to comment.