QuentinL52 commited on
Commit
a4639c3
·
verified ·
1 Parent(s): 75d0d36

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -10
Dockerfile CHANGED
@@ -1,7 +1,8 @@
1
- # Utilise une image de base Python stable
2
  FROM python:3.9-slim-buster
3
 
4
- # Crée un utilisateur non-root pour des raisons de sécurité (bonne pratique de Docker)
 
5
  RUN useradd -m -u 1000 user
6
  USER user
7
 
@@ -9,23 +10,24 @@ USER user
9
  # Tous les fichiers copiés seront relatifs à ce répertoire
10
  WORKDIR /app
11
 
 
 
 
12
  # Copie le fichier requirements.txt et installe les dépendances
 
13
  # Ceci est fait en premier pour tirer parti de la mise en cache de Docker
14
- # Si les dépendances ne changent pas, cette couche ne sera pas reconstruite
15
  COPY --chown=user requirements.txt .
16
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
17
 
18
  # Copie le reste de ton code d'application (main.py, etc.)
19
- # Assure-toi que main.py est bien à la racine du dossier que tu copies (. /app)
20
  COPY --chown=user . /app
21
 
22
  # Expose le port sur lequel ton API FastAPI écoute
23
- # Hugging Face Spaces s'attend par défaut au port 7860 pour les applications Gradio/Streamlit,
24
- # mais pour une API Docker pure, tu peux définir le port que tu veux.
25
- # Cependant, 7860 est souvent le plus simple car c'est celui que Hugging Face attend implicitement.
26
- # Si ton API écoute sur 8010 comme dans main.py, utilise 8010 ici.
27
  EXPOSE 8010
28
 
29
  # Commande pour lancer l'application avec Uvicorn
30
- # app:main signifie que l'application FastAPI est dans le fichier 'main.py' et s'appelle 'app'
 
31
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8010"]
 
1
+ # Utilise une image de base Python stable (slim-buster est plus légère)
2
  FROM python:3.9-slim-buster
3
 
4
+ # Crée un utilisateur non-root pour des raisons de sécurité
5
+ # C'est une bonne pratique qui était déjà dans tes instructions Hugging Face
6
  RUN useradd -m -u 1000 user
7
  USER user
8
 
 
10
  # Tous les fichiers copiés seront relatifs à ce répertoire
11
  WORKDIR /app
12
 
13
+ # Ajoute le répertoire ~/.local/bin au PATH pour s'assurer que les exécutables pip sont trouvés
14
+ ENV PATH="/home/user/.local/bin:$PATH"
15
+
16
  # Copie le fichier requirements.txt et installe les dépendances
17
+ # IMPORTANT : Ajout de --user pour que uvicorn soit installé dans ~/.local/bin
18
  # Ceci est fait en premier pour tirer parti de la mise en cache de Docker
 
19
  COPY --chown=user requirements.txt .
20
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt --user
21
 
22
  # Copie le reste de ton code d'application (main.py, etc.)
23
+ # Assure-toi que main.py est bien à la racine du dossier que tu copies
24
  COPY --chown=user . /app
25
 
26
  # Expose le port sur lequel ton API FastAPI écoute
27
+ # C'est le port 8010 comme défini dans ton main.py
 
 
 
28
  EXPOSE 8010
29
 
30
  # Commande pour lancer l'application avec Uvicorn
31
+ # main:app signifie que l'application FastAPI est dans le fichier 'main.py' et s'appelle 'app'
32
+ # Le port correspond à celui exposé ci-dessus et dans ton main.py
33
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8010"]