# Build stage
FROM rust:1-bookworm AS builder

WORKDIR /usr/src/model-radar
COPY Cargo.toml Cargo.lock ./
COPY src ./src

RUN cargo build --release --locked && \
    strip target/release/model-radar

# Runtime stage
FROM debian:bookworm-slim AS runtime

RUN apt-get update && \
    apt-get install -y --no-install-recommends ca-certificates && \
    rm -rf /var/lib/apt/lists/* && \
    useradd -u 10001 -m -d /home/modelradar -s /usr/sbin/nologin modelradar && \
    mkdir -p /data && \
    chown -R modelradar:modelradar /data

COPY --from=builder /usr/src/model-radar/target/release/model-radar /usr/local/bin/model-radar

USER modelradar
WORKDIR /data
VOLUME ["/data"]

ENV STATE_PATH=/data/state.json

ENTRYPOINT ["/usr/local/bin/model-radar"]
