Files
streamstack/Dockerfile
T
unkinben 2309e9f43a Initial commit — StreamStack v1
Five-service streaming platform: auth, catalogue, streaming, ingest, thumbnailer.
Includes React frontend served by nginx, NATS JetStream event bus, aiobotocore
async S3, PyAV video metadata + thumbnail extraction, service-to-service JWT auth,
and a full unit + e2e test suite.
2026-05-04 22:16:39 +10:00

32 lines
1.1 KiB
Docker

# syntax=docker/dockerfile:1.4
ARG SERVICE=streaming
# ── Stage 1: Build ────────────────────────────────────────────────────────────
FROM git.unkin.net/unkin/almalinux9-base:20260308 AS builder
RUN dnf install -y jellyfin-ffmpeg-bin && dnf clean all
WORKDIR /app
COPY pyproject.toml uv.lock* ./
COPY src/ src/
RUN uv sync --frozen --no-dev --python 3.12
# ── Stage 2: Runtime ──────────────────────────────────────────────────────────
FROM git.unkin.net/unkin/almalinux9-base:20260308 AS runtime
RUN dnf install -y jellyfin-ffmpeg-bin && dnf clean all
WORKDIR /app
COPY --from=builder /app/.venv /app/.venv
COPY --from=builder /app/src /app/src
ARG SERVICE=streaming
ENV SERVICE=${SERVICE} \
PATH="/app/.venv/bin:$PATH" \
PYTHONPATH="/app/src"
EXPOSE 8000
COPY --chmod=755 scripts/entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]