FROM rust:1.97.1-slim-bookworm AS builder
WORKDIR /app
RUN apt-get update \
&& apt-get install --yes --no-install-recommends build-essential cmake perl pkg-config \
&& rm -rf /var/lib/apt/lists/*
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --locked --release --bin qqq
FROM debian:bookworm-slim AS runtime
RUN apt-get update \
&& apt-get install --yes --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --create-home --uid 10001 qqq
COPY --from=builder /app/target/release/qqq /usr/local/bin/qqq
USER qqq
ENV QQQ_BIND=0.0.0.0:8787
EXPOSE 8787
ENTRYPOINT ["qqq"]