# syntax=docker/dockerfile:1.5 FROM python:3.14-slim WORKDIR /app # Static ffmpeg/ffprobe as a cached image layer — no apt, no slow mirror downloads COPY --from=mwader/static-ffmpeg:7.1 /ffmpeg /ffprobe /usr/local/bin/ # Deps first for layer caching; BuildKit cache mount speeds up rebuilds COPY requirements.txt ./ RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r requirements.txt # Application code (data/, models/, pg_data/ excluded via .dockerignore) COPY . . CMD ["python", "-m", "uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "8000"]