# GMSH-Assistant — image de deploiement (CPU, sans GPU). # Pour Hugging Face Spaces (type Docker), exposez le port 7860. FROM python:3.12-slim ENV PIP_NO_CACHE_DIR=1 \ UV_SYSTEM_PYTHON=1 \ HF_HUB_DISABLE_TELEMETRY=1 \ GMSH_PROJECT_ROOT=/app \ PYTHONPATH=/app/src \ GMSH_SERVER__HOST=0.0.0.0 \ GMSH_SERVER__PORT=7860 WORKDIR /app # uv pour une install reproductible RUN pip install --no-cache-dir uv # IMPORTANT : src/ doit etre copie AVANT l'install editable (sinon le paquet n'a pas de # source a lier -> ModuleNotFoundError). torch CPU d'abord (uv pip n'honore pas # [tool.uv.sources]) -> evite ~2,5 Go de wheels CUDA. COPY pyproject.toml uv.lock README.md ./ COPY src ./src RUN uv pip install --system torch --index-url https://download.pytorch.org/whl/cpu \ && uv pip install --system -e . # config + index pre-construit (data/) COPY config ./config COPY data ./data EXPOSE 7860 # L'index (data/) doit etre present : soit copie dans l'image, soit telecharge au # demarrage depuis un Dataset Hugging Face (cf docs/DEPLOY.md, variable GMSH_INDEX_REPO). CMD ["python", "-m", "uvicorn", "gmsh_assistant.server.app:app", "--host", "0.0.0.0", "--port", "7860"]