FROM rust:slim-bookworm AS builder

RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY Cargo.toml Cargo.lock .
RUN mkdir src && echo "fn main() {}" > src/main.rs && \
    echo "pub fn init_logging() {}" > src/telemetry.rs && \
    cargo build --release 2>/dev/null || true

COPY src src
COPY frontend frontend
RUN cargo build --release

FROM debian:bookworm-slim

RUN apt-get update && apt-get install -y ca-certificates libssl3 && rm -rf /var/lib/apt/lists/*

COPY --from=builder /app/target/release/ironflow /usr/local/bin/ironflow

EXPOSE 8080
VOLUME ["/app/data", "/app/dags"]

ENTRYPOINT ["ironflow"]
CMD ["serve", "--db-path", "/app/data/ironflow.db", "--port", "8080"]
