QuentinL52 commited on
Commit
296c455
·
verified ·
1 Parent(s): 0af07aa

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -21
Dockerfile CHANGED
@@ -1,28 +1,30 @@
1
- # Utiliser une image Python 3.11 moderne
2
- FROM python:3.11-slim
3
 
4
- WORKDIR /app
 
5
 
6
- # Ajouter le dossier des exécutables au PATH
7
- ENV PATH="/root/.local/bin:${PATH}"
8
- # Ajouter le dossier de l'application au PYTHONPATH
9
- ENV PYTHONPATH=/app
10
- # Définir le dossier de cache pour Hugging Face
11
- ENV HF_HOME=/app/cache
12
 
13
- # Mettre à jour pip et installer les dépendances
14
- COPY requirements.txt .
15
- RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt
16
 
17
- # Copier tout le code de l'application
18
- COPY . .
 
19
 
20
- # Rendre le script de démarrage exécutable
21
- RUN chmod +x start.sh
22
 
23
- # Exposer le port de l'API FastAPI
24
- EXPOSE 8000
25
 
26
- # Lancer le script qui démarre l'API et le Worker
27
- CMD ["./start.sh"]
28
-
 
 
 
 
 
1
+ # Utiliser une image Python 3.11 moderne
2
+ FROM python:3.11-slim
3
 
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"]