EnzGamers commited on
Commit
d0c640a
·
verified ·
1 Parent(s): ac2436b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -21
Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- # Étape 1: Utiliser une image Python de base, stable et éprouvée.
2
  FROM python:3.11-slim
3
 
4
  # Définir l'utilisateur sur root pour les installations.
@@ -14,7 +14,7 @@ ENV DB_PORT="6543"
14
  ENV DB_NAME="postgres"
15
  ENV DATABASE_URL=$DATABASE_URL
16
 
17
- # Configuration cruciale pour éviter les problèmes de cache et d'interactivité.
18
  ENV DEBIAN_FRONTEND=noninteractive
19
  ENV POETRY_NO_INTERACTION=1
20
  ENV POETRY_VIRTUALENVS_IN_PROJECT=true
@@ -33,29 +33,23 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
33
  WORKDIR /app
34
 
35
  # Cloner le dépôt ENTIER pour préserver la structure du monorepo.
36
- # --depth 1 accélère le clonage.
37
  RUN git clone --depth 1 https://github.com/simstudioai/sim .
38
 
39
- # ---- Étape 5: Installation des dépendances Python (la partie la plus importante) ----
40
- # Installer poetry.
41
- RUN pip install poetry
42
-
43
- # Se déplacer dans le SEUL dossier contenant pyproject.toml pour l'installation.
44
- WORKDIR /app/packages/python
45
-
46
- # Lancer l'installation des dépendances. Poetry va lire le pyproject.toml
47
- # et comprendre, grâce à sa configuration, qu'il doit aussi lier le code dans /app/apps/sim.
48
- RUN poetry install --no-ansi --no-dev
49
-
50
- # Revenir au répertoire racine pour l'exécution.
51
- WORKDIR /app
52
 
53
  # ---- Étape 6: Lancement de l'application ----
54
  # Le port par défaut pour les Spaces Hugging Face.
55
  ENV PORT=7860
56
 
57
- # La commande finale, robuste et explicite :
58
- # - On dit à poetry se trouve son projet (--directory).
59
- # - On exécute la commande `python -m sim.main`.
60
- # - L'interpréteur Python, lancé depuis la racine /app, trouvera correctement le module `sim.main`.
61
- CMD ["poetry", "--directory=packages/python", "run", "python", "-m", "sim.main"]
 
1
+ # Étape 1: Utiliser une image Python de base stable.
2
  FROM python:3.11-slim
3
 
4
  # Définir l'utilisateur sur root pour les installations.
 
14
  ENV DB_NAME="postgres"
15
  ENV DATABASE_URL=$DATABASE_URL
16
 
17
+ # Configuration cruciale pour les builds non-interactifs.
18
  ENV DEBIAN_FRONTEND=noninteractive
19
  ENV POETRY_NO_INTERACTION=1
20
  ENV POETRY_VIRTUALENVS_IN_PROJECT=true
 
33
  WORKDIR /app
34
 
35
  # Cloner le dépôt ENTIER pour préserver la structure du monorepo.
36
+ # --depth 1 accélère le clonage en ne prenant que la dernière version.
37
  RUN git clone --depth 1 https://github.com/simstudioai/sim .
38
 
39
+ # ---- Étape 5: Installation des dépendances (LA CORRECTION DÉFINITIVE) ----
40
+ # On installe poetry, puis DANS LA MÊME COMMANDE RUN, on se déplace
41
+ # dans le bon dossier et on lance l'installation.
42
+ # Cet enchaînement avec '&&' garantit que tout s'exécute dans le même shell,
43
+ # éliminant ainsi toute ambiguïté de contexte.
44
+ RUN pip install poetry \
45
+ && cd /app/packages/python \
46
+ && poetry install --no-ansi --no-dev
 
 
 
 
 
47
 
48
  # ---- Étape 6: Lancement de l'application ----
49
  # Le port par défaut pour les Spaces Hugging Face.
50
  ENV PORT=7860
51
 
52
+ # La commande de lancement est exécutée depuis la racine /app.
53
+ # L'interpréteur Python trouvera le module 'sim.main' dans 'apps/sim'
54
+ # car l'environnement poetry a été configuré pour connaître ce chemin.
55
+ CMD ["poetry", "run", "python", "-m", "sim.main"]