fix: update masonry grid sizing logic and notebook list padding
This commit is contained in:
179
DOCKER-UPDATE-SUMMARY.md
Normal file
179
DOCKER-UPDATE-SUMMARY.md
Normal file
@@ -0,0 +1,179 @@
|
||||
# Mise à jour Docker Compose - Résumé des changements
|
||||
|
||||
## Date: 3 Février 2026
|
||||
|
||||
### Analyse effectuée avec @sequential-thinking
|
||||
|
||||
## Problèmes identifiés
|
||||
|
||||
### 1. Port incohérent
|
||||
- **Avant**: Dockerfile exposait 3000, mais index-sse.js utilisait 3001
|
||||
- **Après**: Exposition du port 3001 cohérente
|
||||
|
||||
### 2. Chemin de base de données hardcodé
|
||||
- **Avant**: index.js avait `file:D:/dev_new_pc/Keep/keep-notes/prisma/dev.db` (chemin Windows absolu)
|
||||
- **Après**: Utilisation de la variable `DATABASE_URL` pointant vers `/app/db/dev.db`
|
||||
|
||||
### 3. Pas de mode de transport configurable
|
||||
- **Avant**: MCP serveur toujours en mode stdio
|
||||
- **Après**: Support des modes `stdio` (Claude Desktop) et `sse` (HTTP/N8N)
|
||||
|
||||
### 4. Healthcheck inadéquat
|
||||
- **Avant**: Healthcheck générique Node.js
|
||||
- **Après**: Healthcheck spécifique au mode (HTTP pour SSE, Node pour stdio)
|
||||
|
||||
### 5. Volumes mal configurés
|
||||
- **Avant**: Chemins incohérents entre keep-notes et mcp-server
|
||||
- **Après**: Volume partagé `db-data` monté correctement sur les deux services
|
||||
|
||||
## Fichiers mis à jour
|
||||
|
||||
### 1. docker-compose.yml
|
||||
**Changements principaux:**
|
||||
- ✅ Port 3001 exposé pour mcp-server
|
||||
- ✅ Variables d'environnement `MCP_MODE` et `MCP_PORT` ajoutées
|
||||
- ✅ `DATABASE_URL` configuré pour mcp-server
|
||||
- ✅ Volume `db-data` cohérent entre services
|
||||
- ✅ Healthcheck conditionnel selon le mode
|
||||
- ✅ Dépendance `condition: service_healthy` pour keep-notes
|
||||
- ✅ Profile `ollama` pour le service optionnel
|
||||
- ✅ Limites de ressources configurées
|
||||
- ✅ `NEXT_TELEMETRY_DISABLED=1` ajouté
|
||||
|
||||
### 2. .env.docker.example
|
||||
**Nouvelles variables:**
|
||||
```env
|
||||
# MCP Server Configuration
|
||||
MCP_MODE="stdio" # ou "sse"
|
||||
MCP_PORT="3001"
|
||||
|
||||
# AI Provider Configuration complète
|
||||
AI_PROVIDER_TAGS=
|
||||
AI_PROVIDER_EMBEDDING=
|
||||
AI_MODEL_TAGS=
|
||||
AI_MODEL_EMBEDDING=
|
||||
```
|
||||
|
||||
### 3. mcp-server/Dockerfile
|
||||
**Améliorations:**
|
||||
- ✅ Installation de curl et wget pour les healthchecks
|
||||
- ✅ Exposition du port 3001 (au lieu de 3000)
|
||||
- ✅ Script de démarrage dynamique (`start.sh`) avec support MCP_MODE
|
||||
- ✅ Healthcheck conditionnel (HTTP pour SSE, Node pour stdio)
|
||||
|
||||
### 4. DOCKER-SETUP.md
|
||||
**Nouvelle documentation:**
|
||||
- ✅ Table des matières ajoutée
|
||||
- ✅ Section "Configuration du MCP Server" complète
|
||||
- ✅ Documentation des deux modes (stdio vs SSE)
|
||||
- ✅ Endpoints SSE documentés
|
||||
- ✅ Guide d'utilisation avec N8N
|
||||
- ✅ Guide d'utilisation avec Claude Desktop
|
||||
- ✅ Commandes Docker utiles
|
||||
|
||||
## Configuration recommandée
|
||||
|
||||
### Pour Claude Desktop (local)
|
||||
```env
|
||||
# .env.docker
|
||||
MCP_MODE="stdio"
|
||||
NEXTAUTH_URL="http://localhost:3000"
|
||||
```
|
||||
|
||||
### Pour N8N (remote)
|
||||
```env
|
||||
# .env.docker
|
||||
MCP_MODE="sse"
|
||||
MCP_PORT="3001"
|
||||
NEXTAUTH_URL="http://192.168.1.190:3000"
|
||||
AI_PROVIDER_TAGS=openai
|
||||
AI_PROVIDER_EMBEDDING=openai
|
||||
OPENAI_API_KEY="sk-..."
|
||||
```
|
||||
|
||||
### Avec Ollama local
|
||||
```bash
|
||||
# Démarrer avec le profil ollama
|
||||
docker compose --profile ollama up -d
|
||||
```
|
||||
|
||||
## Commandes de déploiement
|
||||
|
||||
```bash
|
||||
# 1. Copier et configurer l'environnement
|
||||
cp .env.docker.example .env.docker
|
||||
nano .env.docker # Éditer avec vos valeurs
|
||||
|
||||
# 2. Rebuild complet (recommandé après mise à jour)
|
||||
docker compose down
|
||||
docker compose build --no-cache
|
||||
docker compose up -d
|
||||
|
||||
# 3. Vérifier l'état
|
||||
docker compose ps
|
||||
docker compose logs -f
|
||||
|
||||
# 4. Avec Ollama (optionnel)
|
||||
docker compose --profile ollama up -d
|
||||
```
|
||||
|
||||
## Points de vigilance
|
||||
|
||||
1. **Base de données**: Le volume `db-data` est partagé entre keep-notes et mcp-server. Assurez-vous que les deux services utilisent le même fichier SQLite.
|
||||
|
||||
2. **MCP Mode**: Le mode par défaut est `stdio`. Passez à `sse` uniquement si vous utilisez N8N ou un client HTTP distant.
|
||||
|
||||
3. **Port 3001**: En mode SSE, le port 3001 doit être accessible. Configurez votre firewall si nécessaire.
|
||||
|
||||
4. **Ollama**: Le service Ollama utilise le profil `ollama` et n'est pas démarré par défaut. Utilisez `--profile ollama` pour l'activer.
|
||||
|
||||
## Tests recommandés
|
||||
|
||||
```bash
|
||||
# Test healthcheck keep-notes
|
||||
curl http://localhost:3000
|
||||
|
||||
# Test healthcheck MCP (mode SSE)
|
||||
curl http://localhost:3001
|
||||
|
||||
# Test endpoint SSE
|
||||
curl http://localhost:3001/sse
|
||||
|
||||
# Voir les logs
|
||||
docker compose logs -f mcp-server
|
||||
```
|
||||
|
||||
## Architecture mise à jour
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ Docker Network │
|
||||
│ (memento-network) │
|
||||
├─────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ keep-notes │◄────►│ mcp-server │ │
|
||||
│ │ Port 3000 │ │ Port 3001 │ │
|
||||
│ │ (Web App) │ │ (MCP/SSE) │ │
|
||||
│ └──────────────┘ └──────────────┘ │
|
||||
│ │ │ │
|
||||
│ └──────────┬───────────┘ │
|
||||
│ │ │
|
||||
│ ┌─────┴─────┐ │
|
||||
│ │ db-data │ (SQLite partagé) │
|
||||
│ └───────────┘ │
|
||||
│ │
|
||||
│ ┌──────────────┐ (optionnel avec --profile ollama) │
|
||||
│ │ ollama │ │
|
||||
│ │ Port 11434 │ │
|
||||
│ └──────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Prochaines étapes suggérées
|
||||
|
||||
1. **Corriger le hardcoded path** dans `mcp-server/index.js` ligne 21 pour utiliser `DATABASE_URL`
|
||||
2. **Tester les deux modes** (stdio et SSE)
|
||||
3. **Configurer N8N** avec l'endpoint SSE si besoin
|
||||
4. **Documenter les modèles Ollama** recommandés dans le README
|
||||
Reference in New Issue
Block a user