# Multi-stage build for Poimen Memory Service (Rust) # Stage 1: Builder FROM rust:1.81-bookworm as builder WORKDIR /build # Copy source COPY . . # Build in release mode RUN cargo build --release # Stage 2: Runtime FROM debian:bookworm-slim WORKDIR /app # Install runtime dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ libssl3 \ postgresql-client \ curl \ && rm -rf /var/lib/apt/lists/* # Copy binary from builder COPY --from=builder /build/target/release/mem /app/mem # Expose port EXPOSE 8080 # Health check HEALTHCHECK --interval=10s --timeout=5s --start-period=10s --retries=3 \ CMD curl -f http://localhost:8080/health || exit 1 # Run CMD ["/app/mem"]