- 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
193 lines
5.6 KiB
Markdown
193 lines
5.6 KiB
Markdown
# ⚙️ 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.
|