Clemylia commited on
Commit
bf6cb47
·
verified ·
1 Parent(s): ece0cef

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -14
Dockerfile CHANGED
@@ -1,28 +1,35 @@
1
- # 1. Utiliser une image Python officielle avec support CUDA (si disponible) ou standard
2
- # On prend une image Python stable et légère
3
  FROM python:3.10-slim
4
 
5
- # 2. Définir le dossier de travail dans le conteneur
6
- WORKDIR /app
7
-
8
- # 3. Installer les dépendances système nécessaires pour PyTorch / Transformers
9
  RUN apt-get update && apt-get install -y \
10
  build-essential \
11
  curl \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
- # 4. Copier d'abord le fichier des dépendances pour maximiser le cache Docker
15
- COPY requirements.txt .
 
 
 
 
 
 
 
 
 
 
 
16
 
17
- # 5. Mettre à jour pip et installer les dépendances Python
18
  RUN pip install --no-cache-dir --upgrade pip && \
19
  pip install --no-cache-dir -r requirements.txt
20
 
21
- # 6. Copier le reste du code (dont app.py et la BDD si elle existe déjà)
22
- COPY . .
23
 
24
- # 7. Exposer le port sur lequel le serveur écoute (8080 par défaut dans le code précédent)
25
- EXPOSE 8080
26
 
27
- # 8. Commande pour exécuter le script au démarrage du conteneur
28
  CMD ["python", "app.py"]
 
1
+ # Utiliser une image Python officielle légère
 
2
  FROM python:3.10-slim
3
 
4
+ # Installer les outils système essentiels
 
 
 
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
7
  curl \
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
+ # Créer un utilisateur non-root (UID 1000) requis par Hugging Face Spaces
11
+ RUN useradd -m -u 1000 user
12
+ USER user
13
+
14
+ # Configurer les variables d'environnement de l'utilisateur
15
+ ENV HOME=/home/user \
16
+ PATH=/home/user/.local/bin:$PATH
17
+
18
+ # Définir le dossier de travail
19
+ WORKDIR $HOME/app
20
+
21
+ # Copier d'abord le fichier des dépendances pour le cache Docker
22
+ COPY --chown=user requirements.txt $HOME/app/requirements.txt
23
 
24
+ # Installer les dépendances Python
25
  RUN pip install --no-cache-dir --upgrade pip && \
26
  pip install --no-cache-dir -r requirements.txt
27
 
28
+ # Copier le reste du code source du projet
29
+ COPY --chown=user . $HOME/app
30
 
31
+ # Hugging Face écoute obligatoirement sur le port 7860
32
+ EXPOSE 7860
33
 
34
+ # Lancer l'application
35
  CMD ["python", "app.py"]