FROM nvidia/cuda:12.0.0-cudnn8-devel-ubuntu22.04 # 1) Variables HF avant tout ENV HF_HOME="/home/user/.cache/huggingface" \ HF_HUB_CACHE="/home/user/.cache/huggingface/hub" \ TRANSFORMERS_CACHE="/home/user/.cache/huggingface/transformers" # 2) Créer l’utilisateur non-root RUN useradd -m -u 1000 user RUN apt-get update && \ apt-get install -y --no-install-recommends \ python3 python3-pip python3-dev && \ rm -rf /var/lib/apt/lists/* # 3) Installer dépendances système RUN apt-get update && apt-get install -y \ build-essential git libpoppler-cpp-dev poppler-utils libmagic-dev python3-dev \ && rm -rf /var/lib/apt/lists/* # 4) Copier requirements et installer libs Python WORKDIR /home/user/app COPY --chown=user requirements.txt . RUN pip install --no-cache-dir torch torchvision --extra-index-url https://download.pytorch.org/whl/cu118 RUN pip install --no-cache-dir huggingface_hub RUN pip install --no-cache-dir -r requirements.txt # 5) Pré-créer model_cache et HF_HOME, puis chown RUN mkdir -p /home/user/app/model_cache $HF_HUB_CACHE \ && chown -R user:user /home/user/app /home/user/.cache/huggingface # 6) Télécharger le modèle au build-time sous l’utilisateur non-root USER user RUN python3 - <