gemma-3-api / Dockerfile
AthanasiusRG's picture
Update Dockerfile
8984a6a verified
Raw
History Blame Contribute Delete
1.2 kB
FROM python:3.10-slim
# 1. Dossier temporaire de build et variables d'environnement
WORKDIR /app
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
CMAKE_BUILD_PARALLEL_LEVEL=1 \
MAKEFLAGS="-j1"
# 2. Installation des outils système (en tant que root)
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
# 3. Installation globale des packages Python (en tant que root)
# Plus besoin de --user, c'est ultra-stable et isolé dans le conteneur
RUN pip install --no-cache-dir fastapi uvicorn huggingface_hub pydantic
RUN pip install --no-cache-dir llama-cpp-python --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
# 4. Création de l'utilisateur requis par Hugging Face (UID 1000)
RUN useradd -m -u 1000 user
# 5. Configuration de son espace de travail
WORKDIR /home/user/app
# 6. Copie du code en lui attribuant directement la propriété des fichiers
COPY --chown=user:user . .
# 7. Passage sous l'utilisateur non-privilégié pour l'exécution
USER user
# Port Hugging Face
EXPOSE 7860
# Lancement de l'API
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]