model-radar/Dockerfile

29 lines
749 B
Docker

# 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"]