QuentinL52 commited on
Commit
1cb3d71
·
verified ·
1 Parent(s): 870427d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -41
Dockerfile CHANGED
@@ -1,50 +1,32 @@
1
- FROM python:3.11-slim AS builder
2
-
3
- ENV PYTHONUNBUFFERED=1 \
4
- PIP_NO_CACHE_DIR=off \
5
- PIP_DISABLE_PIP_VERSION_CHECK=on \
6
- PIP_DEFAULT_TIMEOUT=100 \
7
- PYTHONDONTWRITEBYTECODE=1
8
-
9
- RUN apt-get update && apt-get install -y \
10
- build-essential \
11
- && rm -rf /var/lib/apt/lists/*
12
-
13
- RUN pip install uv
14
-
15
- WORKDIR /app
16
-
17
- COPY requirements.txt .
18
- RUN uv pip install --system --no-cache -r requirements.txt
19
-
20
  FROM python:3.11-slim
21
 
22
- RUN apt-get update && apt-get install -y \
23
- && rm -rf /var/lib/apt/lists/*
24
-
25
  WORKDIR /app
26
 
27
- COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
28
- COPY --from=builder /usr/local/bin /usr/local/bin
29
-
30
- COPY . .
 
 
 
31
 
32
- ENV PORT=8080
33
- ENV PYTHONPATH=/app
34
- ENV TRANSFORMERS_CACHE=/tmp/transformers
35
- ENV HF_HOME=/tmp/hf
36
- ENV CREW_STORAGE_DIR=/tmp/crew
37
- ENV HOME=/tmp
38
- ENV TMPDIR=/tmp
39
 
40
- RUN mkdir -p /tmp/transformers /tmp/hf /tmp/crew && \
41
- chmod 777 /tmp/transformers /tmp/hf /tmp/crew
42
-
43
- RUN addgroup --system app && adduser --system --group app
44
- RUN chown -R app:app /app /tmp/transformers /tmp/hf
45
 
46
- USER app
 
47
 
48
- EXPOSE $PORT
 
49
 
50
- CMD exec uvicorn main:app --host 0.0.0.0 --port $PORT --workers 1
 
 
 
1
+ # Utiliser une image Python 3.11 moderne et légère
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  FROM python:3.11-slim
3
 
4
+ # Définir le répertoire de travail
 
 
5
  WORKDIR /app
6
 
7
+ # --- CORRECTION DÉFINITIVE DES PERMISSIONS ---
8
+ # On utilise un répertoire de données standard (/data) et on s'assure qu'il est accessible.
9
+ # On définit TOUTES les variables de cache connues pour couvrir toutes les librairies (transformers, datasets, torch).
10
+ ENV HF_HOME=/data/huggingface
11
+ ENV TRANSFORMERS_CACHE=/data/huggingface/transformers
12
+ ENV HF_DATASETS_CACHE=/data/huggingface/datasets
13
+ ENV TORCH_HOME=/data/torch
14
 
15
+ # On crée ces répertoires et on leur donne des permissions ouvertes (777).
16
+ # C'est la méthode la plus fiable pour les environnements managés comme Hugging Face Spaces.
17
+ RUN mkdir -p $HF_HOME $TRANSFORMERS_CACHE $HF_DATASETS_CACHE $TORCH_HOME && \
18
+ chmod -R 777 /data
 
 
 
19
 
20
+ # Copier les dépendances et les installer
21
+ COPY requirements.txt .
22
+ RUN pip install --no-cache-dir -r requirements.txt
 
 
23
 
24
+ # Copier le reste du code de l'application
25
+ COPY . .
26
 
27
+ # Exposer le port de l'API (Hugging Face s'occupera de la redirection)
28
+ EXPOSE 8000
29
 
30
+ # --- COMMANDE DE LANCEMENT DIRECTE ---
31
+ # On lance directement Uvicorn.
32
+ CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]