Spaces:
Build error
Build error
| # Dockerfile pour Smart Chunker API v4.0 | |
| # Compatible HuggingFace Spaces + Pipeline complet | |
| # Version finale corrigée | |
| # =================================== | |
| # IMAGE DE BASE OPTIMISÉE | |
| # =================================== | |
| FROM python:3.10-slim | |
| # =================================== | |
| # MÉTADONNÉES | |
| # =================================== | |
| LABEL maintainer="Smart Chunker Pipeline v4.0" | |
| LABEL description="API de chunking sémantique intelligent récursif" | |
| LABEL version="4.0.0" | |
| # =================================== | |
| # VARIABLES D'ENVIRONNEMENT | |
| # =================================== | |
| # Configuration Python | |
| ENV PYTHONUNBUFFERED=1 | |
| ENV PYTHONDONTWRITEBYTECODE=1 | |
| ENV PYTHONIOENCODING=utf-8 | |
| # Configuration HuggingFace pour Spaces | |
| ENV HF_HOME=/tmp/huggingface | |
| ENV TRANSFORMERS_CACHE=/tmp/transformers | |
| ENV HF_HUB_CACHE=/tmp/hub | |
| ENV TOKENIZERS_PARALLELISM=false | |
| ENV HF_HUB_DISABLE_PROGRESS_BARS=1 | |
| ENV TRANSFORMERS_VERBOSITY=error | |
| # Configuration FastAPI/Uvicorn | |
| ENV PORT=7860 | |
| ENV HOST=0.0.0.0 | |
| ENV WORKERS=1 | |
| # Optimisations performance | |
| ENV OMP_NUM_THREADS=1 | |
| ENV OPENBLAS_NUM_THREADS=1 | |
| ENV MKL_NUM_THREADS=1 | |
| # =================================== | |
| # INSTALLATION DÉPENDANCES SYSTÈME | |
| # =================================== | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| git \ | |
| curl \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && apt-get clean | |
| # =================================== | |
| # CRÉATION RÉPERTOIRE TRAVAIL | |
| # =================================== | |
| WORKDIR /app | |
| # =================================== | |
| # CRÉATION DOSSIERS CACHE | |
| # =================================== | |
| RUN mkdir -p /tmp/huggingface \ | |
| && mkdir -p /tmp/transformers \ | |
| && mkdir -p /tmp/hub \ | |
| && mkdir -p /tmp/llm \ | |
| && mkdir -p /tmp/embeddings \ | |
| && mkdir -p /tmp/logs \ | |
| && chmod -R 755 /tmp | |
| # =================================== | |
| # COPIE FICHIERS CONFIGURATION | |
| # =================================== | |
| # Copie requirements en premier pour cache Docker | |
| COPY requirements.txt . | |
| # =================================== | |
| # INSTALLATION DÉPENDANCES PYTHON | |
| # =================================== | |
| # Mise à jour pip | |
| RUN pip install --no-cache-dir --upgrade pip | |
| # Installation des dépendances avec cache nettoyé | |
| RUN rm -rf /root/.cache/pip \ | |
| && pip install --no-cache-dir -r requirements.txt | |
| # =================================== | |
| # COPIE CODE APPLICATION | |
| # =================================== | |
| # Copie tous les fichiers Python | |
| COPY *.py . | |
| COPY config.yaml . | |
| # =================================== | |
| # CONFIGURATION PERMISSIONS | |
| # =================================== | |
| # S'assurer que les dossiers sont accessibles | |
| RUN chmod -R 755 /app \ | |
| && chmod -R 777 /tmp | |
| # =================================== | |
| # VÉRIFICATION SANTÉ | |
| # =================================== | |
| # Healthcheck pour vérifier que l'API répond | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ | |
| CMD curl -f http://localhost:${PORT}/health || exit 1 | |
| # =================================== | |
| # EXPOSITION PORT | |
| # =================================== | |
| EXPOSE ${PORT} | |
| # =================================== | |
| # COMMANDE DE DÉMARRAGE | |
| # =================================== | |
| # Commande par défaut pour démarrer l'application | |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"] |