# Stage 1: Build FROM rust:1.93-slim AS builder WORKDIR /app # Cache dependencies COPY Cargo.toml Cargo.lock ./ RUN mkdir -p src/bin && echo "fn main() {}" > src/main.rs && echo "fn main() {}" > src/bin/export_json_schema.rs && cargo build --release && rm -rf src # Build actual binary COPY src ./src RUN touch src/main.rs && cargo build --release # Stage 2: Minimal runtime image FROM debian:bookworm-slim RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/* COPY --from=builder /app/target/release/rustycms /usr/local/bin/rustycms WORKDIR /data EXPOSE 3000 CMD ["rustycms", "--host", "0.0.0.0"]