FROM python:3.11-slim # Install ffmpeg + curl and download latest yt-dlp binary RUN apt update && \ apt install -y curl ffmpeg && \ curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && \ chmod a+rx /usr/local/bin/yt-dlp && \ apt clean && rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /app # Copy project files COPY . . # Install Python dependencies RUN pip install --no-cache-dir -r requirements.txt # Create volume path (optional - will be mounted later in K8s) RUN mkdir -p /music # Declare env var for clean override later in Helm ENV MUSIC_DIR=/music # Expose FastAPI port EXPOSE 8000 # Start app CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]