FROM rust:1.82-bookworm AS builder WORKDIR /app COPY Cargo.toml Cargo.lock ./ COPY crates/shared crates/shared COPY crates/db crates/db COPY crates/api crates/api RUN cargo build --release -p api FROM debian:bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates curl libssl3 \ && rm -rf /var/lib/apt/lists/* # Install Node.js for Playwright script RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y nodejs \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=builder /app/target/release/api /usr/local/bin/api COPY playwright /app/playwright RUN cd /app/playwright && npm install && npx playwright install chromium EXPOSE 3000 CMD ["api"]