QuentinL52 commited on
Commit
2fc5b90
·
verified ·
1 Parent(s): 296c455

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -13
Dockerfile CHANGED
@@ -4,27 +4,26 @@ FROM python:3.11-slim
4
  # Définir le répertoire de travail
5
  WORKDIR /app
6
 
7
- # Créer un utilisateur non-root pour des raisons de sécurité et de permissions
8
- RUN groupadd -r appuser && useradd --no-log-init -r -g appuser -d /app appuser
9
-
10
- # Créer le dossier de cache et lui donner les bonnes permissions
11
- RUN mkdir -p /app/cache && chown -R appuser:appuser /app/cache
 
 
 
12
  ENV HF_HOME=/app/cache
13
 
14
  # Copier les dépendances et les installer
15
  COPY requirements.txt .
16
  RUN pip install --no-cache-dir -r requirements.txt
17
 
18
- # Copier le reste du code et donner les permissions
19
- COPY --chown=appuser:appuser . .
20
-
21
- # Changer pour l'utilisateur non-root
22
- USER appuser
23
 
24
  # Exposer le port de l'API (Hugging Face s'occupera de la redirection)
25
  EXPOSE 8000
26
 
27
  # --- COMMANDE DE LANCEMENT DIRECTE ---
28
- # On lance directement Uvicorn sans passer par un script .sh
29
- # C'est plus simple et plus direct.
30
- CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
 
4
  # Définir le répertoire de travail
5
  WORKDIR /app
6
 
7
+ # --- CORRECTION DÉFINITIVE DES PERMISSIONS ---
8
+ # 1. On crée le dossier de cache.
9
+ # 2. On le rend accessible en écriture par n'importe quel utilisateur dans le conteneur.
10
+ # C'est une solution robuste pour les environnements comme Hugging Face Spaces.
11
+ RUN mkdir -p /app/cache && \
12
+ chmod -R 777 /app/cache
13
+
14
+ # On dit aux librairies Hugging Face d'utiliser ce dossier.
15
  ENV HF_HOME=/app/cache
16
 
17
  # Copier les dépendances et les installer
18
  COPY requirements.txt .
19
  RUN pip install --no-cache-dir -r requirements.txt
20
 
21
+ # Copier le reste du code de l'application
22
+ COPY . .
 
 
 
23
 
24
  # Exposer le port de l'API (Hugging Face s'occupera de la redirection)
25
  EXPOSE 8000
26
 
27
  # --- COMMANDE DE LANCEMENT DIRECTE ---
28
+ # On lance directement Uvicorn en pointant vers le bon objet 'app' dans 'main.py'
29
+ CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]