2024-02-12 21:53:07 +08:00
# This Dockerfile and the images produced are for testing headscale,
# and are in no way endorsed by Headscale's maintainers as an
# official nor supported release or distribution.
2024-08-23 21:28:54 +08:00
FROM docker.io/golang:1.23-bookworm
2022-06-18 17:36:09 +08:00
ARG VERSION=dev
2021-11-12 10:20:46 +08:00
ENV GOPATH /go
WORKDIR /go/src/headscale
2023-07-17 17:13:24 +08:00
RUN apt-get update \
2024-10-02 17:41:58 +08:00
&& apt-get install --no-install-recommends --yes less jq sqlite3 \
2023-11-23 15:31:33 +08:00
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean
2023-05-10 21:52:44 +08:00
RUN mkdir -p /var/run/headscale
2024-04-24 13:44:07 +08:00
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
2021-11-12 10:20:46 +08:00
# Need to reset the entrypoint or everything will run as a busybox script
ENTRYPOINT []
EXPOSE 8080/tcp
CMD ["headscale"]