Files
Effi/docs/01-architecture/services.md
T
Folzo d1e12cff60 Initial commit: Documentation Effi v1.0
- 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
2026-04-04 08:45:59 +02:00

5.7 KiB

🐳 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é :

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) :

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 :

{
  "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 :

# 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)