Spaces:
Sleeping
Sleeping
File size: 1,433 Bytes
a4639c3 b8fd2da a4639c3 b8fd2da a4639c3 b8fd2da a4639c3 b8fd2da a4639c3 b8fd2da a4639c3 b8fd2da a4639c3 b8fd2da a4639c3 b9579a5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# Utilise une image de base Python stable (slim-buster est plus légère)
FROM python:3.9-slim-buster
# Crée un utilisateur non-root pour des raisons de sécurité
# C'est une bonne pratique qui était déjà dans tes instructions Hugging Face
RUN useradd -m -u 1000 user
USER user
# Définit le répertoire de travail dans le conteneur
# Tous les fichiers copiés seront relatifs à ce répertoire
WORKDIR /app
# Ajoute le répertoire ~/.local/bin au PATH pour s'assurer que les exécutables pip sont trouvés
ENV PATH="/home/user/.local/bin:$PATH"
# Copie le fichier requirements.txt et installe les dépendances
# IMPORTANT : Ajout de --user pour que uvicorn soit installé dans ~/.local/bin
# Ceci est fait en premier pour tirer parti de la mise en cache de Docker
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir --upgrade -r requirements.txt --user
# Copie le reste de ton code d'application (main.py, etc.)
# Assure-toi que main.py est bien à la racine du dossier que tu copies
COPY --chown=user . /app
# Expose le port sur lequel ton API FastAPI écoute
# C'est le port 8010 comme défini dans ton main.py
EXPOSE 8010
# Commande pour lancer l'application avec Uvicorn
# main:app signifie que l'application FastAPI est dans le fichier 'main.py' et s'appelle 'app'
# Le port correspond à celui exposé ci-dessus et dans ton main.py
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"] |