# Stage 1: Build from source FROM rust:1-bookworm AS builder RUN apt-get update && apt-get install -y \ libclang-dev \ libtesseract-dev \ libleptonica-dev \ cmake \ g++ \ && rm -rf /var/lib/apt/lists/* WORKDIR /build COPY Cargo.toml Cargo.lock ./ COPY crates/ ./crates/ RUN cargo build --release # Stage 2: Minimal runtime image FROM debian:bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ libtesseract5 \ liblept5 \ tesseract-ocr-eng \ ca-certificates \ && rm -rf /var/lib/apt/lists/* COPY --from=builder /build/target/release/lit /usr/local/bin/lit # pdfium shared library COPY --from=builder /root/.cache/pdfium-rs/ /usr/local/lib/pdfium-rs/ # Ensure pdfium is discoverable at runtime ENV LD_LIBRARY_PATH="/usr/local/lib/pdfium-rs" RUN ln -s /usr/local/bin/lit /usr/local/bin/liteparse CMD ["/bin/sh"]