# syntax=docker/dockerfile:1.7

FROM rust:1.88-bookworm AS builder

WORKDIR /app
ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
ENV CARGO_HTTP_TIMEOUT=120
ENV CARGO_NET_RETRY=5

COPY Cargo.toml Cargo.lock ./
COPY .cargo ./.cargo
COPY src ./src

RUN --mount=type=cache,target=/usr/local/cargo/registry \
    --mount=type=cache,target=/app/target \
    cargo fetch --locked \
    && cargo build --release --locked \
    && cp /app/target/release/combrabo-voice-runtime-helper /usr/local/bin/combrabo-voice-runtime-helper

FROM debian:bookworm-slim

RUN apt-get update \
    && apt-get install -y --no-install-recommends ca-certificates libstdc++6 libgcc-s1 libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

COPY --from=builder /usr/local/bin/combrabo-voice-runtime-helper /usr/local/bin/combrabo-voice-runtime-helper

ENTRYPOINT ["/usr/local/bin/combrabo-voice-runtime-helper"]
