Spaces:
Sleeping
Sleeping
| # Utiliser une image Python officielle légère | |
| FROM python:3.11-slim | |
| # Définir le répertoire de travail | |
| WORKDIR /app | |
| # Dépendances système pour compiler certains packages (si nécessaire) | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Copier les fichiers de dépendances | |
| COPY backend/requirements.txt ./backend/ | |
| # Installer les dépendances Python | |
| # Pour Hugging Face, on s'assure d'installer la version CPU de PyTorch pour alléger l'image | |
| RUN pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu | |
| RUN pip install --no-cache-dir -r backend/requirements.txt | |
| # Copier le reste du code | |
| COPY . . | |
| # Créer les répertoires de données nécessaires pour persistance (Hugging Face monte le stockage dans /data si configuré, ou on crée des dossiers locaux par défaut) | |
| RUN mkdir -p data/documents data/chroma_db | |
| # Exposer le port par défaut attendu par Hugging Face Spaces (7860) ou Render | |
| EXPOSE 7860 | |
| # Variable d'environnement pour forcer FastAPI à écouter sur le bon port | |
| ENV PORT=7860 | |
| # Lancer le serveur backend FastAPI (qui sert aussi le frontend) | |
| CMD ["sh", "-c", "cd backend && uvicorn main:app --host 0.0.0.0 --port ${PORT}"] | |