mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-23 03:33:53 +00:00
5665106a7d
- Go backend with Proxmox/PBS integration - Modern TypeScript/SolidJS frontend - WebSocket real-time updates - Clean project structure with no legacy code
148 lines
9.8 KiB
Bash
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 |