2024-02-12 14:53:07 +01: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.
|
|
|
|
|
2025-02-14 10:56:03 +01:00
|
|
|
FROM docker.io/golang:1.24-bookworm
|
2022-06-18 11:36:09 +02:00
|
|
|
ARG VERSION=dev
|
2021-11-12 02:20:46 +00:00
|
|
|
ENV GOPATH /go
|
|
|
|
WORKDIR /go/src/headscale
|
|
|
|
|
2023-07-17 11:13:24 +02:00
|
|
|
RUN apt-get update \
|
2024-12-13 07:52:40 +00:00
|
|
|
&& apt-get install --no-install-recommends --yes less jq sqlite3 dnsutils \
|
2023-11-23 08:31:33 +01:00
|
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
|
|
&& apt-get clean
|
2023-05-10 13:52:44 +00:00
|
|
|
RUN mkdir -p /var/run/headscale
|
|
|
|
|
2025-07-24 17:44:09 +02:00
|
|
|
# Install delve debugger
|
|
|
|
RUN go install github.com/go-delve/delve/cmd/dlv@latest
|
|
|
|
|
2024-04-24 07:44:07 +02:00
|
|
|
COPY go.mod go.sum /go/src/headscale/
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
|
2025-07-24 17:44:09 +02:00
|
|
|
# Build debug binary with debug symbols for delve
|
|
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -gcflags="all=-N -l" -o /go/bin/headscale ./cmd/headscale
|
2024-04-24 07:44:07 +02:00
|
|
|
|
2021-11-12 02:20:46 +00:00
|
|
|
# Need to reset the entrypoint or everything will run as a busybox script
|
|
|
|
ENTRYPOINT []
|
2025-07-24 17:44:09 +02:00
|
|
|
EXPOSE 8080/tcp 40000/tcp
|
|
|
|
CMD ["/go/bin/dlv", "--listen=0.0.0.0:40000", "--headless=true", "--api-version=2", "--accept-multiclient", "exec", "/go/bin/headscale", "--"]
|