rkonan commited on
Commit
f63174b
·
1 Parent(s): e41c83a

correction NLTK

Browse files
Files changed (2) hide show
  1. Dockerfile +20 -8
  2. app.py +1 -1
Dockerfile CHANGED
@@ -1,7 +1,6 @@
1
- # 🐍 Image de base
2
  FROM python:3.10-slim
3
 
4
- # 🧱 Dépendances système
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
7
  cmake \
@@ -11,21 +10,34 @@ RUN apt-get update && apt-get install -y \
11
  curl \
12
  && rm -rf /var/lib/apt/lists/*
13
 
 
 
 
14
  # 📁 Dossier de travail
15
  WORKDIR /code
16
 
17
- # 📝 Copier les requirements et installer les dépendances
18
  COPY requirements.txt .
19
  RUN pip install --no-cache-dir -r requirements.txt
20
 
21
- # 📦 Préparer le cache NLTK
22
- RUN mkdir -p /tmp/nltk_data && python -m nltk.downloader -d /tmp/nltk_data punkt
 
23
 
24
- # 📁 Copier tout le code
25
  COPY . .
26
 
27
- # 📤 Exposer le port Streamlit
 
 
 
 
 
 
 
 
 
28
  EXPOSE 7860
29
 
30
- # 🚀 Lancer l'application (le patch doit être dans app.py AVANT l'import llama_index)
31
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
 
 
1
  FROM python:3.10-slim
2
 
3
+ # Dépendances système
4
  RUN apt-get update && apt-get install -y \
5
  build-essential \
6
  cmake \
 
10
  curl \
11
  && rm -rf /var/lib/apt/lists/*
12
 
13
+ # 👤 Créer un utilisateur non-root
14
+ RUN useradd -m appuser
15
+
16
  # 📁 Dossier de travail
17
  WORKDIR /code
18
 
19
+ # Copier et installer les dépendances
20
  COPY requirements.txt .
21
  RUN pip install --no-cache-dir -r requirements.txt
22
 
23
+ # Télécharger punkt dans un dossier propre
24
+ RUN mkdir -p /home/appuser/nltk_data && \
25
+ python -m nltk.downloader -d /home/appuser/nltk_data punkt
26
 
27
+ # Copier le reste du code
28
  COPY . .
29
 
30
+ # Donner les droits à appuser sur le code
31
+ RUN chown -R appuser /code
32
+
33
+ # Utiliser l'utilisateur non-root
34
+ USER appuser
35
+
36
+ # ✅ Définir la variable d'environnement pour nltk
37
+ ENV NLTK_DATA=/home/appuser/nltk_data
38
+
39
+ # Exposer le port Streamlit
40
  EXPOSE 7860
41
 
42
+ # Démarrer l'application
43
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
app.py CHANGED
@@ -8,7 +8,7 @@ import time
8
 
9
 
10
  import os
11
- os.environ["NLTK_DATA"] = "/tmp/nltk_data"
12
 
13
  # Appliquer le patch avant tout import de llama_index
14
  from patches.llama_patch import patch_llamaindex_nltk
 
8
 
9
 
10
  import os
11
+ os.environ["NLTK_DATA"] = "/home/appuser/nltk_data"
12
 
13
  # Appliquer le patch avant tout import de llama_index
14
  from patches.llama_patch import patch_llamaindex_nltk