# 🐳 Services et Ports ## Tableau récapitulatif | Service | Hôte | Port | Image | Description | |---------|------|------|-------|-------------| | **Open WebUI** | effi-server | 3000 | `ghcr.io/open-webui/open-webui:main` | Interface IA principale | | **Qdrant** | effi-server | 6333 | `qdrant/qdrant:latest` | Base de données vectorielle | | **CouchDB** | effi-server | 5984 | `couchdb:3.3` | Backend Obsidian LiveSync | | **n8n** | effi-server | 5678 | `docker.n8n.io/n8nio/n8n:latest` | Automatisation workflows | | **mcpo** | effi-server | 8000 | `ghcr.io/open-webui/mcpo:main` | Proxy MCP pour outils | | **wol-proxy** | effi-server | 3011 | Build local | Wake-on-LAN + Proxy Ollama | | **pipelines** | effi-server | 9099 | `ghcr.io/open-webui/pipelines:main` | Middleware mémoire mem0 | | **speaches** | folzo-Corp | 8200 | `speaches:rocm-ct2` (build local) | STT Whisper avec ROCm | | **openedai-speech** | folzo-Corp | 8100 | `ghcr.io/matatonic/openedai-speech` | TTS Piper/XTTS | | **Ollama** | folzo-Corp | 11434 | Installation native | LLM (qwen2.5:14b) | | **Obsidian** | effi-server | 3100 | `lscr.io/linuxserver/obsidian:latest` | Interface Obsidian web | --- ## Description détaillée ### Open WebUI (Port 3000) **Rôle** : Interface utilisateur principale pour interagir avec l'IA **Fonctionnalités :** - Chat textuel avec le LLM - Support vocal (STT/TTS) - Gestion des conversations - Upload de documents (RAG) - Administration système **Configuration clé :** ```yaml environment: - OLLAMA_BASE_URL=http://host.docker.internal:3011 - VECTOR_DB=qdrant - QDRANT_URI=http://qdrant:6333 - ENABLE_MEMORIES=true ``` --- ### Qdrant (Port 6333) **Rôle** : Stockage vectoriel pour le RAG (Retrieval Augmented Generation) **Utilisation :** - Indexation des documents uploadés - Recherche sémantique - Embeddings via `bge-m3:latest` **Endpoints :** - API REST : `http://192.168.1.27:6333` - gRPC : `http://192.168.1.27:6334` --- ### CouchDB (Port 5984) **Rôle** : Base de données NoSQL pour Obsidian LiveSync **Fonctionnalités :** - Synchronisation temps réel des notes Obsidian - Multi-device (mobile, desktop, web) - Résolution de conflits intégrée **Initialisation (premier démarrage) :** ```bash curl -X PUT http://master:MOT_DE_PASSE@192.168.1.27:5984/_users curl -X PUT http://master:MOT_DE_PASSE@192.168.1.27:5984/_replicator curl -X PUT http://master:MOT_DE_PASSE@192.168.1.27:5984/obsidian-livesync ``` --- ### n8n (Port 5678) **Rôle** : Plateforme d'automatisation de workflows **Cas d'usage :** - Workflows d'intégration avec Home Assistant - Automatisations basées sur le calendrier - Webhooks pour notifications - Traitement de données **Authentification :** Basic Auth configurée via variables d'environnement --- ### mcpo (Port 8000) **Rôle** : Proxy pour le protocole MCP (Model Context Protocol) **Fonctionnalités :** - Interface entre OpenWebUI et outils externes - Exécution de commandes système - Intégration avec Obsidian MCP **Configuration :** Fichier `~/effi/mcpo-config/config.json` : ```json { "mcpServers": {} } ``` --- ### wol-proxy (Port 3011) **Rôle** : Wake-on-LAN + Proxy vers Ollama **Fonctionnement :** 1. Intercepte les requêtes vers Ollama 2. Envoie un Magic Packet si le PC est éteint 3. Attend le démarrage (timeout: 60s) 4. Proxy la requête vers Ollama **Variables d'environnement :** - `TARGET_HOST` : IP du PC Gaming - `TARGET_MAC` : Adresse MAC pour WoL - `BROADCAST_IP` : IP de broadcast --- ### pipelines (Port 9099) **Rôle** : Middleware pour les filtres OpenWebUI **Utilisation actuelle :** - Intégration mem0 pour mémoire avancée - Traitement des messages entrants/sortants --- ### speaches (Port 8200) **Rôle** : Service STT (Speech-to-Text) **Caractéristiques :** - Modèle : `deepdml/faster-whisper-large-v3-turbo-ct2` - Accélération : ROCm (GPU AMD) - Langue : Français forcé - Format : Compatible API OpenAI **Build personnalisé :** - Nécessite CTranslate2 compilé pour gfx1100 - Voir guide dépannage ROCm --- ### openedai-speech (Port 8100) **Rôle** : Service TTS (Text-to-Speech) **Voix disponibles :** - `tts-1` : Piper (CPU, rapide) - Voix FR : `fr_FR-upmc-medium` - `tts-1-hd` : XTTS (GPU, qualité) - Voix clones **Configuration :** Fichier `~/openedai-speech/tts-config/config.yaml` --- ### Ollama (Port 11434) **Rôle** : Serveur LLM **Modèles installés :** - `qwen2.5:14b` : LLM principal d'Effi - `bge-m3:latest` : Modèle d'embeddings pour RAG - `qwen2.5:3b` : LLM léger pour filtres mémoire **Commandes utiles :** ```bash # Lister les modèols ollama list # Télécharger un modèle ollama pull qwen2.5:14b # Vérifier le statut curl http://localhost:11434/api/tags ``` --- ### Obsidian Server (Port 3100) **Rôle** : Interface web Obsidian 24/7 **Utilisation :** - Accès aux notes depuis n'importe où - Intégration MCP pour modification automatique - Interface graphique complète **Note :** Nécessite `shm_size: 1gb` pour la stabilité --- ## Dépendances entre services ``` open-webui ├──► qdrant (pour RAG) ├──► wol-proxy (pour Ollama) └──► mcpo (pour outils externes) n8n └──► Peut appeler tous les services via API Obsidian (mobile/desktop) └──► CouchDB (synchronisation) ``` --- ## Ressources système | Service | CPU | RAM | Stockage | |---------|-----|-----|----------| | Open WebUI | Faible | ~500 MB | ~1 GB (DB SQLite) | | Qdrant | Moyen | ~1 GB | Variable (vecteurs) | | CouchDB | Faible | ~200 MB | Taille des notes | | n8n | Variable | ~500 MB | Workflows | | speaches | Élevé (GPU) | ~4 GB VRAM | ~3 GB (modèles) | | openedai-speech | Moyen | ~2 GB VRAM | ~2 GB (voix) | | Ollama | Élevé (GPU) | ~10 GB VRAM | ~9 GB (qwen2.5:14b) |