# syntax=docker/dockerfile:1.7

FROM rust:1.85-slim AS builder
WORKDIR /build
RUN apt-get update && apt-get install -y --no-install-recommends \
    pkg-config libssl-dev ca-certificates \
 && rm -rf /var/lib/apt/lists/*

# Cache deps separately by building a dummy main first.
COPY Cargo.toml Cargo.lock ./
RUN mkdir -p src && echo "fn main() {}" > src/main.rs \
 && cargo build --release \
 && rm -rf src target/release/bee-routing target/release/deps/bee_routing*

# Now copy real sources and build.
COPY src ./src
RUN cargo build --release

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

COPY --from=builder /build/target/release/bee-routing /usr/local/bin/bee-routing

EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/bee-routing"]
CMD ["--help"]
