FROM rust:1.74 AS builder
WORKDIR /usr/src/app
RUN rustup component add clippy rustfmt
COPY . .
COPY .env.dev .env
RUN cargo fmt -- --check
RUN cargo clippy -- -D warnings
RUN cargo build --release
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y libpq5 ca-certificates && rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/app/target/release/my-app /usr/local/bin/
COPY --from=builder /usr/src/app/.env /usr/local/bin/
WORKDIR /usr/local/bin
EXPOSE 8080
CMD ["my-app"]