FROM golang:1.25-bookworm AS builder
WORKDIR /src
COPY go.mod go.sum* ./
RUN go mod download
COPY . .
RUN /usr/local/go/bin/gofmt -w main.go && CGO_ENABLED=0 GOOS=linux /usr/local/go/bin/go build -trimpath -ldflags='-s -w' -o /out/ai-limits-mqtt .

FROM node:24-bookworm-slim
RUN apt-get update \
  && apt-get install -y --no-install-recommends ca-certificates git ripgrep sqlite3 \
  && rm -rf /var/lib/apt/lists/* \
  && npm install -g @anthropic-ai/claude-code @openai/codex
COPY --from=builder /out/ai-limits-mqtt /usr/local/bin/ai-limits-mqtt
ENV NODE_ENV=production
CMD ["/usr/local/bin/ai-limits-mqtt"]
