FROM python:3.12-slim WORKDIR /app # Install system dependencies RUN apt-get update && \ apt-get install -y build-essential git && \ apt-get install -y libxrender1 libxext6 && \ apt-get clean # Copy requirements first to leverage Docker cache COPY requirements.txt . RUN pip install --upgrade pip RUN pip install --no-cache-dir -r requirements.txt # Copy application code COPY . . # Create necessary directories with proper permissions RUN mkdir -p uploads md_files && \ chmod 777 uploads && \ chmod 755 md_files && \ mkdir -p /tmp/matplotlib && \ chmod 777 /tmp/matplotlib # Set matplotlib config directory ENV MPLCONFIGDIR=/tmp/matplotlib EXPOSE 7860 # Default command # CMD ["gunicorn", "--config", "gunicorn_config.py", "app:app"] CMD ["python", "app.py"]