FROM rustlang/rust:nightly as builder WORKDIR /app # Cache dependencies COPY Cargo.toml Cargo.lock ./ RUN mkdir src && echo "fn main() {}" > src/main.rs RUN cargo build --release # Build application COPY . . RUN cargo build --release FROM debian:bookworm-slim as runtime RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=builder /app/target/release/api /usr/local/bin/api ENV ROCKET_ADDRESS=0.0.0.0 ENV ROCKET_PORT=8080 EXPOSE 8080 CMD ["api"]