FROM python:3.12-slim WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends \ libgl1 libglib2.0-0 curl git && \ rm -rf /var/lib/apt/lists/* # Copy dependency spec first for layer caching COPY pyproject.toml . # Install all dependencies including ML stack RUN pip install --no-cache-dir ".[ml]" && \ pip install --no-cache-dir "clip @ git+https://github.com/openai/CLIP.git" && \ pip install --no-cache-dir "deepgaze-pytorch @ git+https://github.com/matthias-k/DeepGaze.git" # Copy application source COPY . . RUN mkdir -p data/uploads EXPOSE 8000 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]