187 lines
4.1 KiB
Markdown
187 lines
4.1 KiB
Markdown
# Docker Configuration Guide
|
|
|
|
## Table des matières
|
|
1. [Configuration des Providers IA](#configuration-des-providers-ia)
|
|
2. [Configuration du MCP Server](#configuration-du-mcp-server)
|
|
3. [Commandes Docker utiles](#commandes-docker-utiles)
|
|
|
|
---
|
|
|
|
## Configuration des Providers IA
|
|
|
|
Le fichier `.env.docker` n'est PAS versionné par Git (.gitignore). Vous devez le créer manuellement sur votre serveur.
|
|
|
|
### Étape 1: Créer le fichier `.env.docker`
|
|
|
|
Sur votre serveur Proxmox:
|
|
|
|
```bash
|
|
cd /path/to/Keep
|
|
cp .env.docker.example .env.docker
|
|
nano .env.docker
|
|
```
|
|
|
|
### Étape 2: Configurer selon votre setup
|
|
|
|
#### Option A: Ollama dans Docker (service Docker)
|
|
|
|
```bash
|
|
NEXTAUTH_URL="http://192.168.1.190:3000"
|
|
AI_PROVIDER=ollama
|
|
OLLAMA_BASE_URL="http://ollama:11434"
|
|
OLLAMA_MODEL="granite4:latest"
|
|
```
|
|
|
|
**Important:** Utilisez `ollama:11434` (nom du service Docker) PAS `localhost:11434`
|
|
|
|
#### Option B: OpenAI (Cloud)
|
|
|
|
```bash
|
|
NEXTAUTH_URL="http://192.168.1.190:3000"
|
|
AI_PROVIDER=openai
|
|
OPENAI_API_KEY="sk-votre-cle-ici"
|
|
```
|
|
|
|
Puis dans l'interface admin:
|
|
1. Configurez Tags Provider → OpenAI
|
|
2. Configurez Embeddings Provider → OpenAI
|
|
3. Entrez votre clé API
|
|
|
|
#### Option C: Ollama sur l'hôte (hors Docker)
|
|
|
|
```bash
|
|
NEXTAUTH_URL="http://192.168.1.190:3000"
|
|
AI_PROVIDER=ollama
|
|
OLLAMA_BASE_URL="http://192.168.1.190:11434"
|
|
OLLAMA_MODEL="granite4:latest"
|
|
```
|
|
|
|
Utilisez l'IP de votre serveur PAS `localhost`
|
|
|
|
### Étape 3: Rebuild et redémarrer
|
|
|
|
```bash
|
|
docker compose down
|
|
docker compose build --no-cache keep-notes
|
|
docker compose up -d
|
|
```
|
|
|
|
### Étape 4: Vérifier dans l'interface Admin
|
|
|
|
1. Allez sur http://192.168.1.190:3000/admin/settings
|
|
2. Section "AI Settings"
|
|
3. Vous pouvez maintenant changer le provider pour Tags et Embeddings indépendamment
|
|
|
|
### Problèmes fréquents
|
|
|
|
**Erreur: `ECONNREFUSED 127.0.0.1:11434`**
|
|
- Problème: Le code essaie d'utiliser `localhost` au lieu du service Docker
|
|
- Solution: Assurez-vous que `.env.docker` existe avec `OLLAMA_BASE_URL="http://ollama:11434"`
|
|
|
|
**Le provider ne change pas dans l'admin**
|
|
- Sauvegardez les modifications dans l'admin
|
|
- Rafraîchissez la page (F5)
|
|
- Vérifiez "Current value" affichée sous le dropdown
|
|
|
|
**Seul la génération de titres fonctionne**
|
|
- Vérifiez que le bon provider est sélectionné pour Tags ET Embeddings
|
|
- Ce sont 2 providers séparés dans l'interface admin
|
|
|
|
---
|
|
|
|
## Configuration du MCP Server
|
|
|
|
Le MCP Server supporte deux modes de transport:
|
|
|
|
### Mode stdio (défaut) - Pour Claude Desktop, Cline, etc.
|
|
|
|
Communication via stdin/stdout, idéal pour les clients locaux.
|
|
|
|
```bash
|
|
# .env.docker
|
|
MCP_MODE="stdio"
|
|
```
|
|
|
|
### Mode SSE (HTTP) - Pour N8N distant, API HTTP
|
|
|
|
Communication via HTTP Server-Sent Events, accessible sur le réseau.
|
|
|
|
```bash
|
|
# .env.docker
|
|
MCP_MODE="sse"
|
|
MCP_PORT="3001"
|
|
```
|
|
|
|
Le serveur MCP sera accessible sur `http://localhost:3001` (ou `http://mcp-server:3001` depuis les autres services Docker).
|
|
|
|
### Endpoints SSE disponibles
|
|
|
|
- `GET /` - Health check
|
|
- `GET /sse` - Connexion SSE
|
|
- `POST /message` - Envoi de messages
|
|
- `GET /sessions` - Liste des sessions actives
|
|
|
|
### Utilisation avec N8N
|
|
|
|
1. Configurez le MCP en mode SSE: `MCP_MODE="sse"`
|
|
2. Redémarrez les services: `docker compose restart mcp-server`
|
|
3. Dans N8N, configurez le MCP avec l'URL: `http://memento-mcp:3001/sse`
|
|
|
|
### Utilisation avec Claude Desktop (stdio)
|
|
|
|
1. Gardez le mode stdio par défaut: `MCP_MODE="stdio"`
|
|
2. Configurez Claude Desktop avec:
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"memento": {
|
|
"command": "docker",
|
|
"args": ["exec", "-i", "memento-mcp", "node", "index.js"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Commandes Docker utiles
|
|
|
|
### Démarrage complet
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
### Avec Ollama (optionnel)
|
|
```bash
|
|
docker compose --profile ollama up -d
|
|
```
|
|
|
|
### Rebuild complet
|
|
```bash
|
|
docker compose down
|
|
docker compose build --no-cache
|
|
docker compose up -d
|
|
```
|
|
|
|
### Voir les logs
|
|
```bash
|
|
# Tous les services
|
|
docker compose logs -f
|
|
|
|
# Service spécifique
|
|
docker compose logs -f keep-notes
|
|
docker compose logs -f mcp-server
|
|
```
|
|
|
|
### Vérifier l'état des services
|
|
```bash
|
|
docker compose ps
|
|
docker compose top
|
|
```
|
|
|
|
### Accéder à un conteneur
|
|
```bash
|
|
docker compose exec keep-notes sh
|
|
docker compose exec mcp-server sh
|
|
```
|