- 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
5.6 KiB
⚙️ Variables d'Environnement
Fichier .env
Ce fichier contient toutes les variables sensibles et de configuration. Ne jamais le commiter !
Template
# ═══════════════════════════════════════════════════════════
# 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 :
# 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 :
# 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
- Mots de passe : Utiliser des mots de passe forts (>16 caractères, variété)
- Réseau : Ne jamais exposer les ports directement sur Internet
- VPN : Utiliser WireGuard ou Tailscale pour l'accès externe
- Backup : Sauvegarder régulièrement le fichier
.env - Permissions : Limiter l'accès au fichier
.env(chmod 600)
Commandes de sécurité
# 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 :
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.