FROM python:3.11-slim WORKDIR /app # Set environment variables ENV DEBIAN_FRONTEND=noninteractive \ PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 # Install system dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ ffmpeg \ libavcodec-dev \ libavdevice-dev \ libavfilter-dev \ libavformat-dev \ libavutil-dev \ libswresample-dev \ libswscale-dev \ libgl1 \ libglib2.0-0 \ libgomp1 \ libmagick++-dev \ imagemagick \ fonts-liberation \ wget \ && rm -rf /var/lib/apt/lists/* # Copy requirements first to leverage Docker cache COPY requirements.txt . # Install Python dependencies RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir setuptools wheel && \ pip install --no-cache-dir -r requirements.txt # Copy the rest of the application COPY . . # Create necessary directories RUN mkdir -p /app/videos /app/outputs # Set volumes VOLUME ["/app/videos", "/app/outputs"] # Set the command to run your application CMD ["python", "-u", "main.py"]