studiox-reel-cutter / Dockerfile
rajank18
..
b664a24
# ── Base image ────────────────────────────────────────────────────────────────
FROM python:3.11-slim
# ── System packages ───────────────────────────────────────────────────────────
# ffmpeg β€” video processing
# fonts-* β€” needed for ASS caption rendering inside FFmpeg
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
fonts-liberation \
fonts-dejavu-core \
&& rm -rf /var/lib/apt/lists/*
# ── Working directory ─────────────────────────────────────────────────────────
WORKDIR /app
# ── Python dependencies (cached layer) ───────────────────────────────────────
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt \
&& pip install --no-cache-dir --upgrade yt-dlp
# ── App code ──────────────────────────────────────────────────────────────────
COPY . .
# ── HF Spaces always uses port 7860 ──────────────────────────────────────────
EXPOSE 7860
# ── Writable temp dir for jobs ────────────────────────────────────────────────
RUN mkdir -p /tmp/studiox && chmod 777 /tmp/studiox
# ── Start server ──────────────────────────────────────────────────────────────
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]