Initial commit: Documentation Effi v1.0
- Structure complète du projet - Docker compose de production - Documentation organisée par thèmes - Guides d'installation et configuration - Section dépannage détaillée - Journal historique
This commit is contained in:
@@ -0,0 +1,192 @@
|
||||
# ⚙️ Variables d'Environnement
|
||||
|
||||
## Fichier `.env`
|
||||
|
||||
Ce fichier contient toutes les variables sensibles et de configuration. **Ne jamais le commiter !**
|
||||
|
||||
### Template
|
||||
|
||||
```bash
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
# EFFI SERVER - Variables d'environnement
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
# 1. OPEN WEBUI
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
WEBUI_SECRET_KEY=votre_cle_secrete_longue_et_aleatoire
|
||||
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
# 2. OLLAMA / PC GAMING
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
OLLAMA_HOST=192.168.1.11
|
||||
PC_GAMING_MAC=XX:XX:XX:XX:XX:XX
|
||||
BROADCAST_IP=192.168.1.255
|
||||
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
# 3. COUCHDB (Obsidian LiveSync)
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
COUCHDB_USER=master
|
||||
COUCHDB_PASSWORD=votre_mot_de_passe_securise
|
||||
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
# 4. N8N (Automatisation)
|
||||
# ═══════════════════════════════════════════════════════════
|
||||
N8N_USER=master
|
||||
N8N_PASSWORD=votre_mot_de_passe_securise
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Description des variables
|
||||
|
||||
### WEBUI_SECRET_KEY
|
||||
|
||||
**Utilisé par** : Open WebUI
|
||||
|
||||
**Description** : Clé secrète pour la gestion des sessions et le chiffrement.
|
||||
|
||||
**Génération** :
|
||||
```bash
|
||||
# Linux
|
||||
openssl rand -hex 32
|
||||
|
||||
# ou
|
||||
python3 -c "import secrets; print(secrets.token_hex(32))"
|
||||
```
|
||||
|
||||
### OLLAMA_HOST
|
||||
|
||||
**Utilisé par** : wol-proxy
|
||||
|
||||
**Description** : IP du PC Gaming où tourne Ollama.
|
||||
|
||||
**Exemple** : `192.168.1.11`
|
||||
|
||||
### PC_GAMING_MAC
|
||||
|
||||
**Utilisé par** : wol-proxy
|
||||
|
||||
**Description** : Adresse MAC du PC Gaming pour le Wake-on-LAN.
|
||||
|
||||
**Format** : `XX:XX:XX:XX:XX:XX`
|
||||
|
||||
**Trouver l'adresse MAC** :
|
||||
```bash
|
||||
# Sur le PC Gaming
|
||||
ip link show
|
||||
# ou
|
||||
ifconfig | grep ether
|
||||
```
|
||||
|
||||
### BROADCAST_IP
|
||||
|
||||
**Utilisé par** : wol-proxy
|
||||
|
||||
**Description** : Adresse de broadcast du réseau local.
|
||||
|
||||
**Standard** : `192.168.1.255` (pour un réseau 192.168.1.0/24)
|
||||
|
||||
### COUCHDB_USER / COUCHDB_PASSWORD
|
||||
|
||||
**Utilisés par** : CouchDB
|
||||
|
||||
**Description** : Identifiants administrateur pour CouchDB.
|
||||
|
||||
**Note** : L'utilisateur par défaut dans les exemples est `master`.
|
||||
|
||||
### N8N_USER / N8N_PASSWORD
|
||||
|
||||
**Utilisés par** : n8n
|
||||
|
||||
**Description** : Identifiants pour l'accès à l'interface n8n (Basic Auth).
|
||||
|
||||
---
|
||||
|
||||
## Variables système
|
||||
|
||||
### TZ (TimeZone)
|
||||
|
||||
**Valeur par défaut** : `Europe/Paris`
|
||||
|
||||
**Utilisée par** : Tous les services
|
||||
|
||||
### HSA_OVERRIDE_GFX_VERSION
|
||||
|
||||
**Valeur** : `11.0.0`
|
||||
|
||||
**Utilisée par** : Services ROCm (speaches, openedai-speech)
|
||||
|
||||
**Description** : Force la version GFX pour la compatibilité ROCm.
|
||||
|
||||
---
|
||||
|
||||
## Configuration réseau
|
||||
|
||||
### Ports utilisés
|
||||
|
||||
| Service | Port | Protocole | Description |
|
||||
|---------|------|-----------|-------------|
|
||||
| Open WebUI | 3000 | TCP | Interface web |
|
||||
| wol-proxy | 3011 | TCP | Proxy Ollama |
|
||||
| Obsidian | 3100 | TCP | Interface Obsidian web |
|
||||
| Qdrant HTTP | 6333 | TCP | API REST |
|
||||
| Qdrant gRPC | 6334 | TCP | API gRPC |
|
||||
| n8n | 5678 | TCP | Interface workflow |
|
||||
| CouchDB | 5984 | TCP | Base de données |
|
||||
| mcpo | 8000 | TCP | Proxy MCP |
|
||||
| speaches | 8200 | TCP | STT API |
|
||||
| openedai-speech | 8100 | TCP | TTS API |
|
||||
| pipelines | 9099 | TCP | Middleware |
|
||||
|
||||
---
|
||||
|
||||
## Sécurité
|
||||
|
||||
### Bonnes pratiques
|
||||
|
||||
1. **Mots de passe** : Utiliser des mots de passe forts (>16 caractères, variété)
|
||||
2. **Réseau** : Ne jamais exposer les ports directement sur Internet
|
||||
3. **VPN** : Utiliser WireGuard ou Tailscale pour l'accès externe
|
||||
4. **Backup** : Sauvegarder régulièrement le fichier `.env`
|
||||
5. **Permissions** : Limiter l'accès au fichier `.env` (chmod 600)
|
||||
|
||||
### Commandes de sécurité
|
||||
|
||||
```bash
|
||||
# Permissions restrictives
|
||||
chmod 600 ~/effi/.env
|
||||
|
||||
# Vérifier les permissions
|
||||
ls -la ~/effi/.env
|
||||
|
||||
# Backup chiffré
|
||||
gpg -c ~/effi/.env
|
||||
cp ~/effi/.env.gpg ~/backups/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dépannage environnement
|
||||
|
||||
### Variable non prise en compte
|
||||
|
||||
**Cause** : Le conteneur doit être recréé (pas juste redémarré)
|
||||
|
||||
**Solution** :
|
||||
```bash
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Erreur "variable is not set"
|
||||
|
||||
**Cause** : Variable manquante dans le `.env`
|
||||
|
||||
**Solution** : Vérifier que toutes les variables requises sont définies
|
||||
|
||||
### Caractères spéciaux dans les mots de passe
|
||||
|
||||
**Attention** : Certains caractères peuvent poser problème dans les URLs (%, @, #, etc.)
|
||||
|
||||
**Solution** : Utiliser des mots de passe avec caractères alphanumériques uniquement, ou encoder les caractères spéciaux.
|
||||
Reference in New Issue
Block a user