- Add leantime-mcp Dockerfile (daniel-eder/leantime-mcp, SSE transport) - Add leantime-mcp service to docker-compose.yml on effi-net - Add Leantime env vars to .env.example (API_KEY, USER_EMAIL, URL) - Update services.md: Leantime + leantime-mcp entries, dependency diagram, resource table - Update mcp-et-n8n.md: MCPO config with leantime SSE server, new leantime-mcp section - Add LEANTIME-INSTALLATION.md: full reinstall guide (XPenology + MCP)
7.6 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) |
| SearXNG | effi-server | 11112 | searxng/searxng:latest |
Meta-search Engine |
| Leantime | XPenology NAS | 8380 | leantime/leantime:latest |
Gestion de projet |
| leantime-mcp | effi-server | 8079 | effi-leantime-mcp:latest (build local) |
Serveur MCP Leantime |
| 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 :
- Intercepte les requêtes vers Ollama
- Envoie un Magic Packet si le PC est éteint
- Attend le démarrage (timeout: 60s)
- Proxy la requête vers Ollama
Variables d'environnement :
TARGET_HOST: IP du PC GamingTARGET_MAC: Adresse MAC pour WoLBROADCAST_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-mediumtts-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'Effibge-m3:latest: Modèle d'embeddings pour RAGqwen2.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é
Leantime (Port 8380)
Rôle : Gestion de projet open-source (AGPL-3.0)
Hôte : XPenology NAS (192.168.1.25)
Fonctionnalités :
- Tableaux Kanban, Gantt, Lean Canvas
- Wiki intégré
- Gestion des tickets / tâches
- Timesheet / suivi du temps
- API REST complète
Configuration :
- MySQL 8.4 dédié (volume nommé
leantime-db-data) - Port 8380 (évite conflits DSM)
- URL d'accès :
http://192.168.1.25:8380
Clé API : Company > API Keys dans l'interface Leantime
leantime-mcp (Port 8079)
Rôle : Serveur MCP (Model Context Protocol) pour Leantime
Image : effi-leantime-mcp:latest (build local depuis leantime-mcp/Dockerfile)
Fonctionnement :
- Proxy entre MCPO et l'API Leantime
- Transport SSE (compatible MCPO)
- Outils exposés :
list_projects,create_project,list_tickets,create_ticket,update_ticket,get_ticket,get_project,list_users,get_user,add_comment,add_timesheet,get_timesheets
Variables d'environnement :
LEANTIME_URL: URL Leantime depuis le conteneur (http://192.168.1.25:8380)LEANTIME_API_KEY: Clé API LeantimeLEANTIME_USER_EMAIL: Email utilisateur Leantime
Note : Utilise le projet daniel-eder/leantime-mcp (standalone, pas le plugin payant Leantime)
Dépendances entre services
open-webui
├──► qdrant (pour RAG)
├──► wol-proxy (pour Ollama)
└──► mcpo (pour outils externes)
└──► leantime-mcp (pour gestion de projet)
└──► Leantime API (sur XPenology NAS)
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) |
| leantime-mcp | Faible | ~200 MB | Négligeable |
| Leantime | Faible-Moyen | ~512 MB | ~100 MB (app) |
| Leantime MySQL | Faible | ~512 MB | Variable (données) |