Add terminal session management with heartbeat monitoring, idle timeout detection, session reuse logic, and command history panel UI with search and filtering capabilities
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

This commit is contained in:
2025-12-18 13:49:40 -05:00
parent 493668f746
commit 5bc12d0729
74 changed files with 14849 additions and 78 deletions
+36
View File
@@ -51,3 +51,39 @@ NTFY_MSG_TYPE=ALL
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