FROM python:3.11-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
    ffmpeg \
    curl \
    nodejs \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Install yt-dlp last so it can be bumped independently without busting the cache above
RUN pip install --no-cache-dir --upgrade "yt-dlp>=2025.1"

COPY app/ ./app/

RUN mkdir -p /tmp/apoena-audio

ENV MAX_UPLOAD_SIZE_MB=500

EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
