feat: integrate Leantime project management via MCP (leantime-mcp + MCPO)

- 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)
This commit is contained in:
Folzo
2026-05-10 17:53:21 +02:00
parent 21674f6eaf
commit c4467d0da2
6 changed files with 482 additions and 12 deletions
+50
View File
@@ -14,6 +14,9 @@
| **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 |
---
@@ -200,6 +203,48 @@ curl http://localhost:11434/api/tags
---
### 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 Leantime
- `LEANTIME_USER_EMAIL` : Email utilisateur Leantime
**Note :** Utilise le projet [daniel-eder/leantime-mcp](https://github.com/daniel-eder/leantime-mcp) (standalone, pas le plugin payant Leantime)
---
## Dépendances entre services
```
@@ -207,6 +252,8 @@ 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
@@ -228,3 +275,6 @@ Obsidian (mobile/desktop)
| 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) |