rkonan commited on
Commit
3056cf9
·
1 Parent(s): 4b1b790

correction requirements

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -20
Dockerfile CHANGED
@@ -1,38 +1,41 @@
1
- # Base image Python 3.12
2
- FROM python:3.12-slim
3
 
4
- # Installer dépendances système
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
7
  cmake \
8
  libopenblas-dev \
9
  libsqlite3-dev \
10
- curl \
11
  git \
 
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
- # Dossier de travail
15
- WORKDIR /code
 
 
 
 
16
 
17
- # Copier le fichier de requirements minimal (runtime only)
18
- COPY requirements-base.txt .
19
 
20
- # Forcer installation binaire pour éviter les compilations longues
21
- RUN pip install --no-cache-dir --upgrade pip && \
22
- pip install --no-cache-dir --only-binary=:all: --prefer-binary -r requirements-base.txt
23
 
24
- # Télécharger les ressources NLTK dans un dossier accessible
25
- RUN mkdir -p /root/nltk_data && \
26
- python -m nltk.downloader -d /root/nltk_data punkt stopwords
27
 
28
- # Définir la variable d'environnement pour NLTK
29
- ENV NLTK_DATA=/root/nltk_data
30
 
31
- # Copier le code
32
- COPY . .
33
 
34
- # Exposer le port (Streamlit)
35
  EXPOSE 7860
36
 
37
- # Commande de démarrage (adaptée Hugging Face)
38
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
 
1
+ # Base image avec Python 3.10
2
+ FROM python:3.10-slim
3
 
4
+ # Installer les dépendances système nécessaires
5
  RUN apt-get update && apt-get install -y \
6
  build-essential \
7
  cmake \
8
  libopenblas-dev \
9
  libsqlite3-dev \
 
10
  git \
11
+ curl \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
+ # Créer un utilisateur non-root (important pour éviter les erreurs de permission nltk/llama)
15
+ RUN useradd -m appuser
16
+ USER appuser
17
+
18
+ # Créer le dossier de travail
19
+ WORKDIR /home/appuser/app
20
 
21
+ # Copier les fichiers nécessaires
22
+ COPY --chown=appuser:appuser requirements.txt .
23
 
24
+ # Installer les paquets Python
25
+ RUN pip install --upgrade pip && \
26
+ pip install --no-cache-dir -r requirements.txt
27
 
28
+ # Télécharger les ressources NLTK nécessaires dans un dossier accessible
29
+ RUN python -m nltk.downloader -d /home/appuser/nltk_data punkt stopwords
 
30
 
31
+ # Copier le code (en tant que appuser)
32
+ COPY --chown=appuser:appuser . .
33
 
34
+ # Définir la variable d'environnement pour nltk
35
+ ENV NLTK_DATA=/home/appuser/nltk_data
36
 
37
+ # Exposer le port Streamlit
38
  EXPOSE 7860
39
 
40
+ # Commande de démarrage
41
  CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]