FROM rust:1-slim-bookworm AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY crates/ ./crates/
RUN cargo build -p mini-static --example mini-static --release
FROM debian:bookworm-slim AS runtime
RUN apt-get update && apt-get install -y --no-install-recommends curl \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --system --no-create-home appuser \
&& mkdir -p /home/appuser/public \
&& chown -R appuser:appuser /home/appuser/public
COPY --from=builder /app/target/release/examples/mini-static /usr/local/bin/mini-static-example
USER appuser
EXPOSE 8080
ENV PORT=8080 ROOT=/home/appuser/public
CMD ["mini-static-example"]