Files
pulse/.env.example
T
Pulse Monitor 5665106a7d Initial clean Go + TypeScript rewrite
- Go backend with Proxmox/PBS integration
- Modern TypeScript/SolidJS frontend
- WebSocket real-time updates
- Clean project structure with no legacy code
2025-07-28 21:24:33 +00:00

148 lines
9.8 KiB
Bash

# Pulse Configuration Reference
# =============================
#
# ⚠️ IMPORTANT: Use the Web Interface for Configuration
#
# Pulse features a comprehensive web-based configuration system.
# Access it at: http://your-host:7655/settings
#
# This .env.example file serves as:
# • Complete reference of ALL available settings (including advanced options)
# • Template for automated deployments (Docker, CI/CD, infrastructure-as-code)
# • Backup documentation for manual configuration if needed
# • Recovery template if your .env gets corrupted
#
# For most users: Simply use the web interface!
#
# =============================
# ┌─────────────────────────────────────────────────────────────────┐
# │ PROXMOX VE - Primary Server (Required) │
# └─────────────────────────────────────────────────────────────────┘
# API Token authentication only - no username/password support
# 🔒 Security: Never use root tokens! See README for non-root setup instructions
PROXMOX_HOST=your-proxmox-ip-or-hostname
PROXMOX_TOKEN_ID=your-api-token-id@pam!your-token-name # e.g., pulse-monitor@pam!monitoring
PROXMOX_TOKEN_SECRET=your-api-token-secret-uuid
# PROXMOX_PORT=8006 # Optional: Custom port (default: 8006)
# PROXMOX_NODE_NAME=My Primary Proxmox # Optional: Display name in UI
# PROXMOX_ALLOW_SELF_SIGNED_CERTS=true # Optional: Allow self-signed certs (default: true)
# PROXMOX_ENABLED=true # Optional: Enable/disable this endpoint (default: true)
# ┌─────────────────────────────────────────────────────────────────┐
# │ PROXMOX VE - Additional Servers (Optional) │
# └─────────────────────────────────────────────────────────────────┘
# Add multiple PVE instances using consecutive numbers (_2, _3, etc.)
# PROXMOX_HOST_2=second-proxmox-ip
# PROXMOX_TOKEN_ID_2=second-token-id@pve!my-token
# PROXMOX_TOKEN_SECRET_2=second-token-secret
# PROXMOX_PORT_2=8006
# PROXMOX_NODE_NAME_2=My Secondary Proxmox
# PROXMOX_ALLOW_SELF_SIGNED_CERTS_2=true
# PROXMOX_ENABLED_2=true
# ┌─────────────────────────────────────────────────────────────────┐
# │ PROXMOX BACKUP SERVER (Optional) │
# └─────────────────────────────────────────────────────────────────┘
# API Token authentication only
# 🔒 Security: Never use root tokens! Create dedicated monitoring users
# PBS_HOST=your-pbs-ip-or-hostname
# PBS_TOKEN_ID=your-pbs-token-id@pbs!my-token # e.g., pulse-monitor@pbs!monitoring
# PBS_TOKEN_SECRET=your-pbs-token-secret
# PBS_PORT=8007 # Optional: Custom port (default: 8007)
# PBS_ALLOW_SELF_SIGNED_CERTS=true # Optional: Allow self-signed certs (default: true)
# Additional PBS instances (use _2, _3, etc.)
# PBS_HOST_2=second-pbs-ip-or-hostname
# PBS_TOKEN_ID_2=second-pbs-token-id@pbs!my-token
# PBS_TOKEN_SECRET_2=second-pbs-token-secret
# PBS_PORT_2=8007
# PBS_ALLOW_SELF_SIGNED_CERTS_2=true
# ┌─────────────────────────────────────────────────────────────────┐
# │ NOTIFICATION SYSTEMS │
# └─────────────────────────────────────────────────────────────────┘
# ─── Email/SMTP Configuration ───
# EMAIL_ENABLED=false
# EMAIL_SMTP_HOST=smtp.gmail.com
# EMAIL_SMTP_PORT=587
# EMAIL_SMTP_USER=your-email@gmail.com
# EMAIL_SMTP_PASS=your-app-password
# EMAIL_FROM=your-email@gmail.com
# EMAIL_TO=recipient@example.com
# EMAIL_USE_SSL=true
# Advanced Email Settings (not in web UI)
# EMAIL_BATCH_ENABLED=true # Batch multiple alerts into single email
# EMAIL_BATCH_WINDOW_MS=30000 # Time window for batching (30 seconds)
# ALERT_EMAIL_COOLDOWN_MINUTES=15 # Minimum time between emails for same alert
# ALERT_EMAIL_DEBOUNCE_MINUTES=2 # Wait time before sending alert email
# ALERT_RECOVERY_DELAY_MINUTES=5 # Wait time before sending recovery email
# ALERT_MAX_EMAILS_PER_HOUR=4 # Rate limit for email notifications
# ─── Webhook Configuration ───
# WEBHOOK_ENABLED=false
# WEBHOOK_URL=https://discord.com/api/webhooks/YOUR_WEBHOOK_URL
# Advanced Webhook Settings (not in web UI)
# WEBHOOK_BATCH_WINDOW_MS=5000 # Time window for batching webhooks (5 seconds)
# WEBHOOK_SUMMARY_THRESHOLD=3 # Number of alerts before summarizing
# WEBHOOK_PRIORITY_DELAY=2000 # Delay for high-priority webhooks (2 seconds)
# WEBHOOK_ANNOUNCEMENT_DELAY=10000 # Delay for announcements (10 seconds)
# ALERT_WEBHOOK_COOLDOWN_MINUTES=5 # Minimum time between webhooks for same alert
# ALERT_WEBHOOK_DEBOUNCE_MINUTES=1 # Wait time before sending webhook
# ALERT_WEBHOOK_MAX_CALLS_PER_HOUR=10 # Rate limit for webhook calls
# ┌─────────────────────────────────────────────────────────────────┐
# │ ALERT THRESHOLDS & BEHAVIOR │
# └─────────────────────────────────────────────────────────────────┘
# ALERTS_ENABLED=true # Master alert toggle
# CPU Alerts
# ALERT_CPU_ENABLED=true
# ALERT_CPU_THRESHOLD=85 # Percentage threshold
# ALERT_CPU_DURATION=300000 # Duration before alerting (5 minutes)
# Memory Alerts
# ALERT_MEMORY_ENABLED=true
# ALERT_MEMORY_THRESHOLD=90 # Percentage threshold
# ALERT_MEMORY_DURATION=300000 # Duration before alerting (5 minutes)
# Disk Alerts
# ALERT_DISK_ENABLED=true
# ALERT_DISK_THRESHOLD=95 # Percentage threshold
# ALERT_DISK_DURATION=600000 # Duration before alerting (10 minutes)
# Down/Offline Alerts
# ALERT_DOWN_ENABLED=true
# ALERT_DOWN_DURATION=60000 # Duration before alerting (1 minute)
# ┌─────────────────────────────────────────────────────────────────┐
# │ PULSE SERVICE CONFIGURATION │
# └─────────────────────────────────────────────────────────────────┘
# PULSE_METRIC_INTERVAL_MS=2000 # VM/Container metrics fetch interval (default: 2000ms, increase to 5000+ if experiencing DNS rate limiting)
# PULSE_DISCOVERY_INTERVAL_MS=30000 # Node/storage discovery interval
# PORT=7655 # Web server port
# THEME_PREFERENCE=auto # UI theme: auto, light, dark
# ALLOW_EMBEDDING=false # Allow Pulse to be embedded in iframes
# ┌─────────────────────────────────────────────────────────────────┐
# │ SYSTEM & UPDATE SETTINGS │
# └─────────────────────────────────────────────────────────────────┘
# UPDATE_CHANNEL=stable # Update channel: stable or rc
# UPDATE_CHANNEL_PREFERENCE=stable # Force specific update channel
# UPDATE_TEST_MODE=false # Enable test mode for updates
# BACKUP_HISTORY_DAYS=365 # Backup history retention
# ┌─────────────────────────────────────────────────────────────────┐
# │ DEVELOPMENT & DEBUGGING │
# └─────────────────────────────────────────────────────────────────┘
# NODE_ENV=development # Enable development mode
# ENABLE_HOT_RELOAD=true # Frontend hot reloading
# DEBUG=pulse:* # Debug logging for specific modules
# ┌─────────────────────────────────────────────────────────────────┐
# │ DOCKER & DEPLOYMENT │
# └─────────────────────────────────────────────────────────────────┘
# DOCKER_DEPLOYMENT=true # Automatically detected in Docker