31 lines
1.2 KiB
Docker
31 lines
1.2 KiB
Docker
# ── 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"]
|