- Structure complète du projet - Docker compose de production - Documentation organisée par thèmes - Guides d'installation et configuration - Section dépannage détaillée - Journal historique
5.9 KiB
📋 Résumé Complet du Thread
🖥️ Infrastructure
| Machine | IP | Rôle | GPU/CPU |
|---|---|---|---|
| folzo-Corp | 192.168.1.11 | PC gaming / STT+TTS | AMD RX 7800 XT (gfx1100) |
| effi-server | 192.168.1.27 | Serveur IA principal | CPU Intel 4 cores / 7.6GB RAM |
| PC Gaming Ollama | variable | LLM Ollama | GPU dédié |
🎯 Objectif du Thread
Faire tourner Whisper (STT) sur la RX 7800 XT de folzo-Corp via ROCm, en construisant CTranslate2-ROCm depuis les sources (speaches), puis migrer le TTS (openedai-speech) d'effi-server vers folzo-Corp pour libérer le CPU.
🔨 Étapes Réalisées
1. Build CTranslate2-ROCm pour speaches
Problème initial : RuntimeError: Conv1D on GPU currently requires the cuDNN library which is not integrated in this build
Cause : CTranslate2-ROCm compilé sans support MIOpen (équivalent ROCm de cuDNN)
Solution : Dockerfile custom ~/speaches/src/Dockerfile.rocm-ct2 avec :
text
-DWITH_CUDNN=ON -DCUDnn_INCLUDE_DIR=/opt/rocm-6.3.4/include -DCUDnn_LIBRARY=/opt/rocm-6.3.4/lib/libMIOpen.so
Image base : rocm/dev-ubuntu-24.04:6.3.4-complete
Source CTranslate2 : github.com/arlo-phoenix/CTranslate2-rocm
2. Erreur Architecture GPU Incorrecte
Problème : RuntimeError: parallel_for failed: hipErrorInvalidDeviceFunction: invalid device function
Cause : Build compilé pour gfx1101 mais la RX 7800 XT est gfx1100
Diagnostic :
bash
docker run --device /dev/kfd --device /dev/dri \ -e HSA_OVERRIDE_GFX_VERSION=11.0.0 speaches:rocm-ct2 \ /opt/rocm-6.3.4/bin/rocminfo | grep -E "gfx|Name" # → gfx1100 (AMD Radeon RX 7800 XT)
Fix :
bash
sed -i 's/gfx1101/gfx1100/g' ~/speaches/src/Dockerfile.rocm-ct2 cd ~/speaches/src docker build -f Dockerfile.rocm-ct2 -t speaches:rocm-ct2 .
3. Transcription fonctionnelle (CPU en attendant rebuild)
Après le premier build, speaches fonctionne en CPU (fallback) :
-
200 OKsur/v1/audio/transcriptions -
Langue
frdétectée à 99% -
RTF > 1 (13s pour 5.4s audio) → confirme CPU, pas GPU
-
ONNX Runtime cherche
libcublasLt.so.12(CUDA) → warning non bloquant, fallback CPU automatique
Rebuild avec gfx1100 en cours pour activer l'accélération GPU (~10x plus rapide attendu).
4. Problème réseau effi-server
Symptômes : Interface filaire effi-server plantée après reboot, OpenWebUI inaccessible
Diagnostic :
text
conflict detected for IP address 192.168.1.11 with host 5C:87:9C:65:95:23
Cause : Conflit DHCP — deux machines avec la même IP 192.168.1.11
Fix court terme : nmcli device disconnect enp6s0 && nmcli device connect enp6s0
Fix permanent recommandé : Réservations DHCP par MAC sur le routeur + ethtool wol g pour la carte Realtek RTL8111
5. OpenWebUI lent / erreurs 500
Symptômes : 500: Open WebUI: Server Connection Error, lenteur UI
Diagnostic :
text
ERROR: open_webui.routers.ollama: Connection error
Cause : Ollama inaccessible — le PC gaming était éteint. Le wol-proxy sur effi-server assure le Wake-on-LAN mais le PC n'avait pas répondu à temps.
Architecture WOL :
text
OpenWebUI → port 3011 effi → wol-proxy → WOL magic packet → PC Gaming → proxy TCP vers 11434
6. Deux processus zombies sur effi-server
Détectés via ps aux :
text
[mcpo] <defunct> [python] <defunct>
Fix :
bash
docker restart mcpo
7. Migration openedai-speech → folzo-Corp
Raison : openedai-speech consommait ~100% CPU sur effi-server (1.06GB RAM, CPU intensif)
Étapes :
bash
# Arrêt sur effi docker compose stop openedai-speech && docker compose rm -f openedai-speech # Copie des données depuis folzo-Corp scp -r effi@192.168.1.27:~/effi/tts-voices ~/openedai-speech/ scp -r effi@192.168.1.27:~/effi/tts-config ~/openedai-speech/
Contenu transféré : modèles XTTS (~1.8GB), voix WAV (alloy/echo/nova/shimmer/fable/onyx), modèles ONNX piper, configs YAML
Problème group_add : Unable to find group render: no matching entries in group file
Fix : Utiliser GID numériques au lieu des noms :
text
group_add: - "44" # video - "991" # render
📁 Fichiers Clés
text
folzo-Corp: ├── ~/speaches/ │ ├── src/Dockerfile.rocm-ct2 # Build CTranslate2 gfx1100 + MIOpen │ └── docker-compose.yml # speaches-stt:8200 └── ~/openedai-speech/ ├── docker-compose.yml # TTS ROCm gfx1100 ├── tts-voices/ # Voix XTTS + ONNX └── tts-config/ # voice_to_speaker.yaml etc. effi-server: └── ~/effi/docker-compose.yml # OpenWebUI + WOL + n8n + qdrant...
✅ État Final des Services
| Service | Hôte | Port | État | Notes |
|---|---|---|---|---|
| speaches-stt | folzo-Corp | 8200 | ✅ Fonctionne | CPU actuellement, rebuild gfx1100 pending |
| openedai-speech | folzo-Corp | 8100 | ✅ Démarré | ROCm gfx1100, group_add 44+991 |
| OpenWebUI | effi-server | 3000 | ✅ Fonctionne | Pointé STT+TTS vers 192.168.1.11 |
| wol-proxy | effi-server | 3011 | ✅ Fonctionne | Proxy Ollama + WOL PC gaming |
| n8n | effi-server | 5678 | ✅ Running | |
| qdrant | effi-server | 6333 | ✅ Running | Vector store RAG |
| pipelines | effi-server | 9099 | ✅ Running | mem0 memory |
| couchdb | effi-server | 5984 | ✅ Running | Obsidian LiveSync |
| mcpo | effi-server | 8000 | ⚠️ Zombie détecté | Redémarré |
🔜 Prochaines Étapes
-
Finaliser rebuild speaches gfx1100 → activer GPU sur Whisper large-v3
-
Tester TTS ROCm → vérifier que openedai-speech utilise bien la RX 7800 XT
-
Mettre à jour l'URL TTS dans OpenWebUI Admin → Audio →
http://192.168.1.11:8100 -
Réservations DHCP sur le routeur pour fixer les IPs de façon permanente
-
Tester pipeline vocal complet : micro → STT folzo → OpenWebUI effi → LLM Ollama → TTS folzo → speaker