Marcin-XStudio commited on
Commit
77c8eed
·
1 Parent(s): 91f3fdd

docker file update

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -11
Dockerfile CHANGED
@@ -1,10 +1,11 @@
1
  FROM python:3.10-slim
2
- # 1) Variables HF
 
3
  ENV HF_HOME="/home/user/.cache/huggingface" \
4
  HF_HUB_CACHE="/home/user/.cache/huggingface/hub" \
5
  TRANSFORMERS_CACHE="/home/user/.cache/huggingface/transformers"
6
 
7
- # 2) Créer l’utilisateur dès le départ
8
  RUN useradd -m -u 1000 user
9
 
10
  # 3) Installer dépendances système
@@ -12,29 +13,29 @@ RUN apt-get update && apt-get install -y \
12
  build-essential git libpoppler-cpp-dev poppler-utils libmagic-dev python3-dev \
13
  && rm -rf /var/lib/apt/lists/*
14
 
15
- # 4) Copier et installer Python libs
16
  WORKDIR /home/user/app
17
  COPY --chown=user requirements.txt .
18
  RUN pip install --no-cache-dir torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu
19
  RUN pip install --no-cache-dir huggingface_hub
20
  RUN pip install --no-cache-dir -r requirements.txt
21
 
22
- # 5) Pré-créer et donner droits sur model_cache
23
- RUN mkdir -p /home/user/app/model_cache \
24
- && mkdir -p $HF_HUB_CACHE \
25
- && chown -R user:user /home/user/app/model_cache $HF_HOME
26
 
27
- # 6) Télécharger le modèle (build-time)
28
  USER user
29
  RUN python - <<EOF
 
30
  from huggingface_hub import snapshot_download
31
  snapshot_download(
32
  repo_id="numind/NuExtract-1.5-tiny",
33
  local_dir="/home/user/app/model_cache",
34
- cache_dir="$HF_HUB_CACHE"
35
  )
36
  EOF
37
 
38
- # 7) Copier le code et démarrer
39
  COPY --chown=user . .
40
- CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  FROM python:3.10-slim
2
+
3
+ # 1) Variables HF avant tout
4
  ENV HF_HOME="/home/user/.cache/huggingface" \
5
  HF_HUB_CACHE="/home/user/.cache/huggingface/hub" \
6
  TRANSFORMERS_CACHE="/home/user/.cache/huggingface/transformers"
7
 
8
+ # 2) Créer l’utilisateur non-root
9
  RUN useradd -m -u 1000 user
10
 
11
  # 3) Installer dépendances système
 
13
  build-essential git libpoppler-cpp-dev poppler-utils libmagic-dev python3-dev \
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
+ # 4) Copier requirements et installer libs Python
17
  WORKDIR /home/user/app
18
  COPY --chown=user requirements.txt .
19
  RUN pip install --no-cache-dir torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu
20
  RUN pip install --no-cache-dir huggingface_hub
21
  RUN pip install --no-cache-dir -r requirements.txt
22
 
23
+ # 5) Pré-créer model_cache et HF_HOME, puis chown
24
+ RUN mkdir -p /home/user/app/model_cache $HF_HUB_CACHE \
25
+ && chown -R user:user /home/user/app /home/user/.cache/huggingface
 
26
 
27
+ # 6) Télécharger le modèle au build-time sous l’utilisateur non-root
28
  USER user
29
  RUN python - <<EOF
30
+ import os
31
  from huggingface_hub import snapshot_download
32
  snapshot_download(
33
  repo_id="numind/NuExtract-1.5-tiny",
34
  local_dir="/home/user/app/model_cache",
35
+ cache_dir=os.getenv("HF_HUB_CACHE")
36
  )
37
  EOF
38
 
39
+ # 7) Copier le reste du code et démarrer
40
  COPY --chown=user . .
41
+ CMD ["uvicorn","app:app","--host","0.0.0.0","--port","7860"]