Spaces:
Sleeping
Sleeping
File size: 1,272 Bytes
bf5fb5f |
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 34 35 36 37 38 39 40 41 42 43 44 45 46 |
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"] |