# Docker Configuration Guide ## 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