# Utiliser une image de base Python légère | |
FROM python:3.9-slim | |
# Définir le répertoire de travail | |
WORKDIR /app | |
# Installer les bibliothèques système nécessaires pour OpenCV | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
libgl1-mesa-glx \ | |
libglib2.0-0 \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Définir des répertoires accessibles en écriture pour Matplotlib et Ultralytics | |
ENV MPLCONFIGDIR=/app/tmp/matplotlib | |
ENV YOLO_CONFIG_DIR=/app/tmp/Ultralytics | |
# Créer les répertoires nécessaires et définir les permissions | |
RUN mkdir -p /app/dataset/train/images && chmod -R 777 /app/dataset | |
# Copier les fichiers nécessaires dans le conteneur | |
COPY . /app | |
# Installer les dépendances Python | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Exposer le port 7860 pour le serveur Flask | |
EXPOSE 7860 | |
# Commande pour démarrer Flask | |
CMD ["python", "app.py"] |