3.7 KiB
🎙️ Feuille de Route : Studio IA Multimodal v3 (2026)
Architecture : Micro-services isolés via Docker Compose sur VM Vast.ai.
Objectif : Modularité totale, isolation des dépendances et orchestration par LLM.
🏗️ Phase 1 — Préparation de l'Infrastructure (Le Socle)
L'objectif est de préparer le terrain pour que les containers puissent discuter entre eux sur un réseau privé.
-
Dépôt Gitea : Structurer l'arborescence du projet
/services: Un sous-dossier par micro-service (Dockerfile + code API)/models: Scripts Shell de téléchargement des poids (HuggingFace / CivitAI)/data: Volumes Docker persistants pour les sorties (outputs/) et les données modèles
-
Script de Provisioning : Écrire le
provisioning_script.shpour Vast.ai- Installation automatisée de Docker Engine & NVIDIA Container Toolkit
- Clonage du dépôt Git
- Configuration des permissions et création des dossiers de stockage
🍳 Phase 2 — Build des Micro-Services (Les Cuisines)
Chaque service est construit indépendamment pour garantir une stabilité totale.
- Service Orchestrateur : Configurer l'image officielle Ollama (Gestion des LLM)
- Service Interface : Configurer l'image Open WebUI (La "Glue" utilisateur)
- Service Audio — ACE-Step : Créer le Dockerfile + l'API Python (Gradio/FastAPI)
- Service Voix — Zonos : Créer le Dockerfile dédié (Environnement Python 3.11+)
- Service Image — ComfyUI : Préparer l'image optimisée pour Flux.1 et SDXL
- Service Foley — Hunyuan : Créer le service spécifique pour le bruitage vidéo synchronisé
🎼 Phase 3 — Orchestration (Le Chef d'Orchestre)
Utilisation de Docker Compose pour lier les services sur une seule machine.
-
Fichier
docker-compose.yml- Définir le réseau interne
studio-network - Assigner les ressources GPU via
deploy.resources.reservations - Mapper les ports :
3000(public) pour le WebUI, les autres en accès restreint
- Définir le réseau interne
-
Gestion de la VRAM & RAM
- Implémenter des limites mémoire par container
- Configurer le swap pour éviter les crashs lors des chargements de modèles lourds
🔌 Phase 4 — Connexion de la "Glue" (Le Câblage)
Configuration de l'intelligence centrale pour piloter les outils.
-
Configuration Ollama : Connecter Open WebUI au container LLM via
http://ollama:11434 -
Développement des "Functions" : Coder les ponts Python internes à Open WebUI vers :
http://ace-step:7860— Musiquehttp://zonos:7862— Voixhttp://comfyui:8188— Imagehttp://hunyuan-foley:7864— Foley
-
System Prompt : Configurer l'assistant "Studio Manager" pour qu'il route les requêtes vers les bons services
🚀 Phase 5 — Optimisation & Production
Passage à l'échelle et fluidification de l'expérience.
-
Téléchargement des modèles : Finaliser les scripts
download_models.sh
(utilisation dewget -cpour la reprise sur erreur) -
Persistance : Valider le montage des volumes pour que les fichiers générés soient accessibles hors des containers
-
Snapshot final : Une fois la configuration stable, créer un Snapshot Vast.ai pour un déploiement instantané (Warm Boot)
🛠️ Pourquoi cette architecture gagne en 2026
| Avantage | Détail technique |
|---|---|
| Modularité | Tu veux changer de modèle de voix ? Tu mets à jour 1 seul container sans toucher au reste. |
| Résilience | Si le service d'image plante, tu peux toujours chatter et générer de la musique. |
| Scalabilité | Demain, tu peux mettre Ollama sur un GPU et ACE-Step sur un autre sans réécrire le code. |