gmsh-assistant / Dockerfile
Pavlishenku's picture
Fix: COPY src avant install editable (ModuleNotFoundError) + PYTHONPATH
1e51f97 verified
Raw History Blame Contribute Delete
1.2 kB
# 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"]