FROM python:3.9-slim WORKDIR /app # Copy requirements first to leverage Docker cache COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt && \ pip install --no-cache-dir --force-reinstall opencv-python-headless==4.9.0.80 && \ pip install --no-cache-dir --force-reinstall numpy==1.24.3 # Copy application files COPY app.py model.py config.yaml . # Expose the port that Gradio uses EXPOSE 7860 # Run the application CMD ["python", "app.py"]