2021-11-10 00:20:58 +08:00
# Builder image
2023-04-07 18:29:47 +08:00
FROM docker.io/golang:1.20-bullseye AS build
2022-06-18 17:36:09 +08:00
ARG VERSION=dev
2021-06-17 12:27:40 +08:00
ENV GOPATH /go
2021-10-27 14:40:39 +08:00
WORKDIR /go/src/headscale
2021-10-27 05:35:18 +08:00
2021-08-09 00:39:39 +08:00
COPY go.mod go.sum /go/src/headscale/
RUN go mod download
2021-10-27 05:35:18 +08:00
COPY . .
2022-08-05 06:31:39 +08:00
2022-11-04 18:26:33 +08:00
RUN CGO_ENABLED=0 GOOS=linux go install -tags ts2019 -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale
2022-08-05 06:31:39 +08:00
RUN strip /go/bin/headscale
2021-06-17 12:27:40 +08:00
RUN test -e /go/bin/headscale
2021-11-10 00:20:58 +08:00
# Production image
2023-05-10 21:48:41 +08:00
FROM docker.io/debian:bullseye-slim
2021-10-23 00:56:23 +08:00
2023-05-12 06:08:56 +08:00
RUN apt-get update \
2023-05-12 16:05:06 +08:00
&& apt-get install -y ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean
2023-05-12 06:08:56 +08:00
2021-11-14 06:10:58 +08:00
COPY --from=build /go/bin/headscale /bin/headscale
2021-06-17 12:27:40 +08:00
ENV TZ UTC
2021-08-09 00:39:39 +08:00
2023-05-10 21:52:44 +08:00
RUN mkdir -p /var/run/headscale
2021-06-17 12:27:40 +08:00
EXPOSE 8080/tcp
2021-11-10 00:20:58 +08:00
CMD ["headscale"]