# Stage 1: Build the Rust server binary
FROM rust:1.82-bookworm AS builder

WORKDIR /src
COPY Cargo.toml Cargo.lock ./
COPY src ./src
COPY crates ./crates
COPY migrations ./migrations
COPY cert ./cert

RUN cargo build --release && \
    strip target/release/vocechat-server

# Stage 2: Minimal runtime image
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 /src/target/release/vocechat-server /home/vocechat-server/vocechat-server
COPY config /home/vocechat-server/config

EXPOSE 3000
WORKDIR /home/vocechat-server
CMD ["./vocechat-server"]
