FROM golang:1.23-bookworm AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 go build -o /provisioning ./cmd/provisioning FROM debian:bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ dnsmasq \ openssh-client \ ipxe \ ca-certificates \ dmidecode \ curl \ && rm -rf /var/lib/apt/lists/* COPY --from=builder /provisioning /usr/local/bin/provisioning RUN mkdir -p /data /etc/provisioning/keys EXPOSE 8080 VOLUME ["/data", "/etc/provisioning"] ENTRYPOINT ["/usr/local/bin/provisioning"] CMD ["-config", "/etc/provisioning/provisioning.yaml"]