hamba-ho's picture
Préparation pour déploiement Hugging Face (Docker + UI)
fab35c8
# 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}"]