# Build stage FROM rust:1.92-alpine AS builder WORKDIR /app RUN apk add --no-cache musl-dev openssl-dev openssl-libs-static pkgconfig COPY Cargo.toml Cargo.lock* ./ RUN mkdir src && echo "fn main() {}" > src/main.rs RUN cargo build --release || true RUN rm -rf src COPY src ./src COPY migrations ./migrations COPY .sqlx ./.sqlx RUN touch src/main.rs && cargo build --release # Runtime stage FROM alpine:3.21 WORKDIR /app RUN apk add --no-cache ca-certificates COPY --from=builder /app/target/release/prism /app/prism COPY --from=builder /app/migrations /app/migrations EXPOSE 3000 CMD ["/app/prism"]