osama-n079/match-performance-api
0
1FROM python:3.11-slim2 3# System deps for mplsoccer (shapely/libgeos) and scipy4RUN apt-get update && apt-get install -y --no-install-recommends \5 libgeos-dev \6 && rm -rf /var/lib/apt/lists/*7 8WORKDIR /app9 10# Copy requirements first for Docker layer caching11COPY requirements.txt .12RUN pip install --no-cache-dir -r requirements.txt13 14# Copy only runtime-essential code15COPY api/ api/16COPY pipeline/ pipeline/17COPY utils/ utils/18COPY visualizations/ visualizations/19COPY config.py .20 21# Copy parquet + model data (tracked via Git LFS)22COPY data/ data/23COPY models/ models/24 25# Hugging Face Spaces default port26EXPOSE 786027 28HEALTHCHECK --interval=30s --timeout=5s --start-period=60s \29 CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:7860/')" || exit 130 31CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "7860"]32 