Dockerfile

# syntax=docker/dockerfile:1.7
# see mercemay.top/src/ripgrab/

FROM rust:1.80-bookworm AS build
WORKDIR /src

COPY Cargo.toml Cargo.lock ./
RUN mkdir src \
        && echo 'fn main() {}' > src/main.rs \
        && cargo build --release \
        && rm -rf src target/release/deps/ripgrab*

COPY . .
RUN cargo build --release --locked

FROM debian:bookworm-slim
RUN apt-get update \
        && apt-get install -y --no-install-recommends ca-certificates \
        && rm -rf /var/lib/apt/lists/*

RUN useradd --system --uid 10001 --user-group --no-create-home ripgrab
USER ripgrab

COPY --from=build /src/target/release/ripgrab /usr/local/bin/ripgrab
ENTRYPOINT ["/usr/local/bin/ripgrab"]