File size: 1,098 Bytes
c41e59f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# 1. Utiliser Python 3.10 (stable pour PyTorch et Gradio)
FROM python:3.10-slim

# 2. Définir le dossier de travail dans le conteneur
WORKDIR /app

# 3. Installer les dépendances système nécessaires (OpenCV, Pillow, etc.)
RUN apt-get update && apt-get install -y \
    libgl1 \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# 4. Copier et installer les bibliothèques Python
COPY requirements-api.txt .
RUN pip install --no-cache-dir -r requirements-api.txt
# On force l'installation de Gradio et Requests au cas où
RUN pip install --no-cache-dir gradio requests 

# 5. Copier tout ton code (le modèle .pth doit être dans un dossier 'weights/')
COPY . .

# 6. Exposer les ports pour l'extérieur
# 5075 = Flask (API) | 7860 = Gradio (Interface)
EXPOSE 5075 7860

# 7. La commande de lancement
# On utilise 'sh -c' pour lancer deux processus en même temps :
# 'python movieposter_api.py &' lance l'API en tâche de fond.
# 'python app_gradio.py' lance l'interface au premier plan.
CMD sh -c "python movieposter_api.py --model_path weights/movieposter_net.pth & python app_gradio.py"