SATCAP-OCEANS_DOCKER / DEPLOYMENT_HF.md
rinogeek's picture
Improve Docker configuration with Gunicorn and collectstatic
6241edf

Documentation du Déploiement Backend sur Hugging Face (Docker)

Cette documentation explique les modifications apportées au dossier backend pour permettre son déploiement sur Hugging Face Spaces en utilisant Docker.

1. Fichiers Ajoutés

Dockerfile

Le fichier Dockerfile est le cœur de la configuration Docker. Il effectue les actions suivantes :

  • Utilise une image de base Python 3.10.
  • Installe les dépendances système nécessaires à OpenCV (libgl1-mesa-glx, libglib2.0-0).
  • Installe les dépendances Python listées dans requirements.txt (incluant gunicorn).
  • Configure le port par défaut sur 7860 (obligatoire pour Hugging Face Spaces).
  • Exécute les migrations de base de données et collectstatic au démarrage du build.
  • Utilise gunicorn pour servir l'application de manière robuste.

README.md

Ce fichier contient les métadonnées YAML nécessaires à Hugging Face pour identifier le SDK (Docker) et le port de l'application.

2. Modifications de Configuration

Port de l'Application

Hugging Face Spaces expose l'application sur le port 7860. Le Dockerfile est configuré pour lancer Gunicorn sur ce port spécifique : gunicorn --bind 0.0.0.0:7860 satcap_project.wsgi:application

Gestion des Fichiers Statiques et Media

Dans un environnement Docker éphémère comme Hugging Face Spaces :

  • Les fichiers media (images uploadées) seront stockés localement dans le conteneur mais seront perdus au redémarrage du Space.
  • Pour une utilisation en production réelle, un stockage externe (comme AWS S3 ou Google Cloud Storage) serait recommandé.

3. Procédure d'Upload

Pour uploader le backend sur votre Space SATCAP-OCEANS_DOCKER :

  1. Initialiser Git (si ce n'est pas déjà fait) :

    cd backend
    git init
    
  2. Ajouter le remote Hugging Face :

    git remote add hf https://huggingface.co/spaces/CosmoLABHub/SATCAP-OCEANS_DOCKER
    
  3. Préparer le README : Copiez le contenu de README_HF.md dans un fichier nommé README.md (Hugging Face a besoin du nom exact README.md).

  4. Pousser vers Hugging Face :

    git add .
    git commit -m "Configuration Docker pour Hugging Face"
    git push hf main --force
    

4. Utilisation comme API

Une fois le Space "Running", l'URL de l'API sera : https://cosmolabhub-satcap-oceans-docker.hf.space/api/detect/

Vous pouvez utiliser cette URL dans votre frontend pour envoyer des requêtes de détection.