# --- build stage --- FROM rust:1-slim-bookworm AS builder WORKDIR /build RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential pkg-config ca-certificates git \ && rm -rf /var/lib/apt/lists/* COPY . . RUN cargo build --release # --- runtime stage --- # distroless/cc: just glibc + libgcc + libm, no shell/package manager. # Matches what `ldd target/release/CCC` reports we actually need. FROM gcr.io/distroless/cc-debian12 WORKDIR /data COPY --from=builder /build/target/release/CCC /usr/local/bin/ccc ENV CCC_DB_PATH=/data/cdn.db EXPOSE 8333 ENTRYPOINT ["/usr/local/bin/ccc"] CMD ["serve", "--port", "8333"]