FROM python:3.9-slim WORKDIR /app # Set matplotlib config directory to a writable location ENV MPLCONFIGDIR=/tmp/matplotlib # Install system dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ ffmpeg \ libsm6 \ libxext6 \ libgl1-mesa-glx \ && apt-get clean && \ rm -rf /var/lib/apt/lists/* # Copy requirements first for better layer caching COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Create an empty startup script RUN echo "current_example = 'selector'" > startup.py # Copy application file COPY app.py . # Set proper permissions RUN chmod 777 /app RUN chmod 777 /app/startup.py # Expose port for Gradio EXPOSE 7860 # Command to run the application CMD ["python", "app.py"]