Bruno Charest 70c15c9b6f
Some checks failed
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled
Add debug mode feature flag with environment variable parsing, UI badge indicator, secret redaction utility, and enhanced terminal session management with status checks and session limit error handling
2025-12-21 17:22:36 -05:00

92 lines
2.9 KiB
Plaintext

# Configuration du Homelab Automation Dashboard
# Copier ce fichier en .env et adapter les valeurs
# utiliser le mode de debug
DEBUG_MODE=YES
# Clé API pour l'authentification (changer en production!)
API_KEY=dev-key-12345
# Utilisateur SSH pour Ansible (doit exister sur les hôtes cibles)
SSH_USER=automation
# Répertoire contenant les clés SSH sur la machine hôte
# Sera monté en lecture seule dans le container
SSH_KEY_DIR=~/.ssh
# Répertoire des logs de tâches (fichiers markdown classés par YYYY/MM/JJ)
# Ce répertoire sera monté dans le container et contiendra l'historique
# des exécutions de tâches au format markdown
# Exemple Windows: C:\Obsidian_doc\SessionsManager\60-TACHES\LOGS
# Exemple Linux: /home/user/tasks_logs
DIR_LOGS_TASKS=./tasks_logs
# Optionnel: Chemin spécifique de la clé privée SSH
# SSH_KEY_PATH=/path/to/id_rsa
# ===== NOTIFICATIONS NTFY =====
# URL de base du serveur ntfy (self-hosted ou ntfy.sh)
NTFY_BASE_URL=http://raspi.8gb.home:8150
# Topic par défaut pour les notifications générales
NTFY_DEFAULT_TOPIC=homelab-events
# Activer/désactiver les notifications (true/false)
NTFY_ENABLED=true
# Timeout pour les requêtes HTTP vers ntfy (en secondes)
NTFY_TIMEOUT=5
# Types de notifications à envoyer :
# - ALL : toutes les notifications (succès, warnings, erreurs)
# - ERR : uniquement les erreurs
# - WARN : uniquement les warnings (par ex. hôtes DOWN)
# - ERR,WARN : erreurs + warnings, mais pas les succès
NTFY_MSG_TYPE=ALL
# Authentification optionnelle (laisser vide si pas d'auth)
# NTFY_USERNAME=
# NTFY_PASSWORD=
# Ou utiliser un token Bearer
# NTFY_TOKEN=
# JWT_SECRET_KEY pour l'authentification
JWT_SECRET_KEY=votre-clé-secrète-production
# JWT_EXPIRE_MINUTES pour la durée de la session
JWT_EXPIRE_MINUTES=1440 # 24h par défaut
# ===== TERMINAL SSH WEB =====
# Session TTL in minutes (default: 30)
TERMINAL_SESSION_TTL_MINUTES=30
# Maximum active sessions per user (default: 3)
TERMINAL_MAX_SESSIONS_PER_USER=3
# Idle timeout - sessions without heartbeat for this long are closed (default: 120s)
TERMINAL_SESSION_IDLE_TIMEOUT_SECONDS=120
# Heartbeat interval - how often client should send heartbeat (default: 15s)
TERMINAL_HEARTBEAT_INTERVAL_SECONDS=15
# GC interval - how often to run garbage collection (default: 30s)
TERMINAL_GC_INTERVAL_SECONDS=30
# Port range for ttyd instances (default: 7680-7700)
TERMINAL_PORT_RANGE_START=7680
TERMINAL_PORT_RANGE_END=7700
# ttyd bind interface (important for WSL/remote access). Example: eth0
# If omitted, the app defaults to eth0 when WSL is detected.
# TERMINAL_TTYD_INTERFACE=eth0
# SSH user for terminal connections (default: automation)
TERMINAL_SSH_USER=automation
# Path to ttyd binary (default: ttyd - uses PATH)
# TTYD_PATH=/usr/bin/ttyd
# SSH key path for terminal connections (optional, uses SSH_KEY_PATH if not set)
# TERMINAL_SSH_KEY_PATH=/path/to/id_rsa
# Command history retention in days
TERMINAL_COMMAND_RETENTION_DAYS=30