Spaces:
Build error
Build error
| # 1. Build Frontend | |
| FROM node:18-alpine AS frontend-builder | |
| WORKDIR /app/frontend | |
| COPY ThinFilm_Analyzer/frontend/package*.json ./ | |
| RUN npm install | |
| COPY ThinFilm_Analyzer/frontend/ ./ | |
| # IMPORTANT: On définit la variable d'environnement pour le build | |
| # Pour Spaces, l'URL backend est relative ou localhost interne, mais le navigateur client doit savoir où taper | |
| # En mode "Serveur Backend qui sert Frontend", l'API est sur /api, donc relative suffit. | |
| ENV VITE_API_base_url="" | |
| RUN npm run build | |
| # 2. Setup Backend | |
| FROM python:3.9 | |
| WORKDIR /app | |
| # Copie des requirements | |
| COPY ThinFilm_Analyzer/backend/requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| RUN pip install huggingface_hub # Ajout de la lib HF | |
| # Copie du code backend | |
| COPY ThinFilm_Analyzer/backend/app ./app | |
| COPY ThinFilm_Analyzer/backend/main.py . | |
| # Note: On suppose que main.py dans backend/ est le point d'entrée, ou backend/app/main.py | |
| # Vérifions : backend/app/main.py est le bon fichier. Le fichier backend/main.py existe-t-il? | |
| # Dans le doute on copie tout backend vers /app | |
| COPY ThinFilm_Analyzer/backend/ . | |
| # Copie du build frontend dans le dossier statique | |
| # Le backend attend le build dans frontend/dist défini par FRONTEND_DIR | |
| # On va modifier/vérifier le chemin dans main.py ou placer le build où il faut | |
| COPY --from=frontend-builder /app/frontend/dist /app/frontend/dist | |
| # Configuration des variables d'environnement | |
| ENV FRONTEND_DIR="/app/frontend/dist" | |
| # Le dossier de données sera le cache HF, mais on peut mapper /data | |
| ENV DATA_DIR="/app/data_cache" | |
| # On crée le dossier data_cache | |
| RUN mkdir -p /app/data_cache | |
| # Exposition du port | |
| EXPOSE 7860 | |
| # Commande de lancement | |
| # Hugging Face Spaces attend le service sur le port 7860 | |
| CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"] | |