# 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"]
