FROM golang:1.24-alpine AS builder
RUN apk add --no-cache git ca-certificates
WORKDIR /src
RUN git clone --depth 1 --branch v0.9.0 https://github.com/micromdm/nanomdm.git .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/nanomdm ./cmd/nanomdm

FROM alpine:3.22
RUN apk add --no-cache ca-certificates \
    && addgroup -S -g 10001 nanomdm \
    && adduser -S -D -H -u 10001 -G nanomdm nanomdm
COPY --from=builder /out/nanomdm /usr/local/bin/nanomdm
USER 10001:10001
EXPOSE 9000
ENTRYPOINT ["/usr/local/bin/nanomdm"]
