Spaces:
Sleeping
Sleeping
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04 AS runtime | |
# Désactiver l'interactivité | |
ENV DEBIAN_FRONTEND=noninteractive | |
# Installer les outils de base nécessaires | |
RUN apt-get update && apt-get install -y \ | |
bash \ | |
curl \ | |
git \ | |
git-lfs \ | |
wget \ | |
procps \ | |
build-essential \ | |
&& rm -rf /var/lib/apt/lists/* | |
ENV XDG_BIN_HOME=/usr/local/bin | |
RUN curl -LsSf https://astral.sh/uv/install.sh | sh | |
# Créer l'utilisateur non privilégié avec UID 1000 et préparer le répertoire de l'application | |
RUN useradd -m -u 1000 aim_user && \ | |
mkdir -p /app && \ | |
chown -R 1000:1000 /app | |
RUN echo "alias venv='source .venv/bin/activate'" >> /etc/bash.bashrc | |
WORKDIR /app | |
USER 1000 | |
COPY --chown=1000:1000 requirements.txt /app/ | |
# Initialiser UV, créer l'environnement virtuel, installer les dépendances et purger le cache pip | |
RUN uv init --python 3.11 --no-managed-python --no-workspace && \ | |
uv venv && \ | |
. /app/.venv/bin/activate && \ | |
uv add -r requirements.txt && \ | |
uv cache prune | |
# Copier le reste du code source dans /app | |
COPY --chown=1000:1000 src/ /app/ | |
ENV PATH="/app/.venv/bin:${PATH}" | |
CMD ["mlflow", "ui", "--backend-store-uri", "file:///data/mlruns", "--host", "0.0.0.0", "--port", "7860"] |