2026-03-03 13:43:20 +01:00
2026-02-24 13:46:11 +01:00
2026-02-24 13:46:11 +01:00
2026-02-25 09:34:55 +01:00
2026-02-24 13:46:11 +01:00
2026-02-24 15:33:05 +01:00
2026-03-03 13:43:20 +01:00
2026-02-24 13:46:11 +01:00
2026-02-24 13:51:01 +01:00
2026-02-24 14:46:29 +01:00

🎙️ 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.


🧱 Principe des couches

VM Vast.ai (Ubuntu 22.04 bare)        ← Système hôte, Docker Engine
  └── NVIDIA Container Toolkit         ← Pont GPU → containers
        ├── container open-webui       FROM python:3.11-slim
        ├── container ollama           FROM ollama/ollama:latest
        ├── container ace-step         FROM nvcr.io/nvidia/pytorch:26.01-py3
        ├── container heart-mula       FROM nvcr.io/nvidia/pytorch:25.08-py3 *
        ├── container zonos            FROM nvcr.io/nvidia/pytorch:26.01-py3
        ├── container indextts         FROM nvcr.io/nvidia/pytorch:26.01-py3
        ├── container hunyuan-foley    FROM nvcr.io/nvidia/pytorch:25.08-py3 *
        └── container comfyui          FROM nvcr.io/nvidia/pytorch:26.01-py3

* Version NGC différente si le modèle l'exige — chaque container est indépendant.

Règles d'image de base

Niveau Image Raison
VM hôte Ubuntu 22.04 bare Docker Engine + drivers NVIDIA
Services GPU nvcr.io/nvidia/pytorch:XX.XX-py3 CUDA + PyTorch + cuDNN pré-validés par NVIDIA
Services sans GPU python:3.11-slim Léger, inutile d'embarquer CUDA

La version NGC (26.01, 25.08...) peut différer par service selon les besoins de compatibilité.
C'est précisément l'avantage des microservices : chaque container est une décision indépendante.


🏗️ 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.sh pour 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
  • 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 — Musique
    • http://zonos:7862 — Voix
    • http://comfyui:8188 — Image
    • http://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 de wget -c pour 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.
Description
deploiement de modeles ad hoc sur vast.ai
Readme 90 KiB
Languages
Python 55.4%
Dockerfile 24%
Shell 20.6%