homelab_automation/docker/.env.example
Bruno Charest 5bc12d0729
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 terminal session management with heartbeat monitoring, idle timeout detection, session reuse logic, and command history panel UI with search and filtering capabilities
2025-12-18 13:49:40 -05:00

89 lines
2.9 KiB
Plaintext

# Configuration du Homelab Automation Dashboard
# Copier ce fichier en .env et adapter les valeurs
# 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