ObsiGate/TROUBLESHOOTING.md

138 lines
4.1 KiB
Markdown

# Dépannage ObsiGate
## Problème : Interface gèle lors de la sauvegarde des paramètres de fichiers cachés
### Symptômes
- L'interface se fige quand vous cliquez sur "Sauvegarder" dans la section "Fichiers cachés"
- Le fichier `vault_settings.json` n'est pas créé dans `/DOCKER_CONFIG/ObsiGate/data`
- Aucun message d'erreur n'apparaît (ou message générique)
### Cause
Le conteneur Docker n'a pas les permissions nécessaires pour écrire dans le répertoire `/app/data` (monté depuis `/DOCKER_CONFIG/ObsiGate/data` sur l'hôte).
### Solution
#### 1. Vérifier que le répertoire existe sur l'hôte
```bash
# Créer le répertoire s'il n'existe pas
sudo mkdir -p /DOCKER_CONFIG/ObsiGate/data
# Vérifier qu'il existe
ls -la /DOCKER_CONFIG/ObsiGate/
```
#### 2. Corriger les permissions
Le conteneur s'exécute avec l'utilisateur `1000:1000` (voir `docker-compose.yml`). Le répertoire doit être accessible en écriture par cet utilisateur.
```bash
# Option A: Donner la propriété à l'utilisateur 1000
sudo chown -R 1000:1000 /DOCKER_CONFIG/ObsiGate/data
# Option B: Rendre le répertoire accessible en écriture pour tous (moins sécurisé)
sudo chmod -R 777 /DOCKER_CONFIG/ObsiGate/data
```
#### 3. Redémarrer le conteneur
```bash
cd /path/to/ObsiGate
docker-compose restart
```
#### 4. Vérifier les logs
Après le redémarrage, les logs backend afficheront des informations détaillées sur la sauvegarde :
```bash
docker-compose logs -f obsigate
```
Recherchez des lignes comme :
- `Attempting to save settings to /app/data/vault_settings.json`
- `Successfully saved settings for X vaults`
- Ou des erreurs : `Permission denied writing to...`
#### 5. Tester la sauvegarde
1. Ouvrez l'interface ObsiGate
2. Allez dans Configuration → Fichiers cachés
3. Modifiez un paramètre (cochez/décochez "Afficher tous les fichiers cachés")
4. Cliquez sur "💾 Sauvegarder"
5. Vous devriez voir un message de succès : "✓ Paramètres sauvegardés"
6. Si erreur, le message affichera maintenant le détail : "Erreur: Permission denied: Cannot write to settings file..."
#### 6. Vérifier que le fichier a été créé
```bash
ls -la /DOCKER_CONFIG/ObsiGate/data/vault_settings.json
cat /DOCKER_CONFIG/ObsiGate/data/vault_settings.json
```
Le fichier devrait contenir un JSON avec vos paramètres :
```json
{
"Workout": {
"includeHidden": true,
"hiddenWhitelist": []
},
"Bruno": {
"includeHidden": false,
"hiddenWhitelist": [".obsidian"]
}
}
```
### Vérification des permissions actuelles
```bash
# Voir les permissions du répertoire
ls -la /DOCKER_CONFIG/ObsiGate/
# Voir l'utilisateur qui exécute le conteneur
docker-compose exec obsigate id
# Devrait afficher : uid=1000 gid=1000
```
### Alternative : Changer l'utilisateur du conteneur
Si vous ne pouvez pas modifier les permissions de `/DOCKER_CONFIG/ObsiGate/data`, vous pouvez changer l'utilisateur du conteneur dans `docker-compose.yml` :
```yaml
services:
obsigate:
# Remplacer user: "1000:1000" par l'UID/GID du propriétaire du répertoire
user: "0:0" # root (non recommandé pour la sécurité)
# OU
user: "$(id -u):$(id -g)" # Votre utilisateur actuel
```
Puis redémarrez :
```bash
docker-compose down
docker-compose up -d
```
## Autres problèmes courants
### Les fichiers cachés ne s'affichent pas après sauvegarde
**Cause** : Les paramètres sont sauvegardés mais l'index n'a pas été reconstruit.
**Solution** : Après avoir cliqué sur "Sauvegarder", cliquez sur "🔄 Réindexer" pour reconstruire l'index avec les nouveaux paramètres.
### L'interface se fige lors de la réindexation
**Cause** : Vous essayez d'indexer un très gros répertoire caché (ex: `.git`, `.node_modules`).
**Solution** :
1. N'activez pas "Afficher tous les fichiers cachés" pour les vaults contenant de gros répertoires cachés
2. Utilisez plutôt la liste blanche pour ajouter uniquement les dossiers cachés spécifiques dont vous avez besoin (ex: `.obsidian`)
3. La réindexation sélective (uniquement les vaults modifiés) devrait être plus rapide
### Message "Permission denied" dans les logs
Voir la section principale ci-dessus pour corriger les permissions.