# ── Build stage ─────────────────────────────────────────────────────
FROM debian:bookworm AS builder

RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential cmake libmicrohttpd-dev \
  && rm -rf /var/lib/apt/lists/*

COPY . /src
RUN cmake -S /src -B /build \
      -DCMAKE_BUILD_TYPE=Release \
  && cmake --build /build -j"$(nproc)"

# ── Runtime stage ────────────────────────────────────────────────────
FROM debian:bookworm-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
    libmicrohttpd12 wget \
  && rm -rf /var/lib/apt/lists/*

COPY --from=builder /build/framecache       /usr/local/bin/framecache
COPY --from=builder /build/net_ingest       /usr/local/bin/net_ingest

# /dev/shm/framecache is created at runtime (tmpfs)
RUN mkdir -p /dev/shm/framecache

EXPOSE 7435

HEALTHCHECK --interval=10s --timeout=3s --start-period=5s \
    CMD wget -qO- http://localhost:7435/health || exit 1

CMD ["/usr/local/bin/framecache"]
