FROM rust:1.92 AS builder
WORKDIR /app
COPY . .
RUN cargo build --release -p presentation -p worker -p playout

# Presentation image
FROM debian:bookworm-slim AS presentation
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends libssl3 ca-certificates curl && rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/k-tv .
RUN mkdir -p /app/data
EXPOSE 3000
CMD ["./k-tv"]

# Worker image
FROM debian:bookworm-slim AS worker
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends libssl3 ca-certificates ffmpeg && rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/k-tv-worker .
RUN mkdir -p /app/data
CMD ["./k-tv-worker"]

# Playout image
FROM debian:bookworm-slim AS playout
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends libssl3 ca-certificates ffmpeg && rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/k-tv-playout .
RUN mkdir -p /app/data /tmp/k-tv-playout
EXPOSE 9090
CMD ["./k-tv-playout"]
