Real-time monitoring for Proxmox VE and PBS with alerts, webhooks, and a clean web interface.
- Real-time Monitoring - Live updates for VMs, containers, and storage via WebSockets
- Smart Alerts - Configurable thresholds with email and webhook notifications (Discord, Slack, Gotify, Telegram, ntfy.sh, Teams)
- Alert History - Persistent storage of alert events with detailed metrics and timeline
- Unified Backups - Single view for PBS backups, PVE backups, and snapshots
- PBS Push Mode - Monitor isolated/firewalled PBS servers without inbound connections
- Modern UI - Responsive design with dark/light themes, virtual scrolling, and storage view toggle
- Lightweight - Minimal resource usage, stops polling when no clients connected
Pulse is a solo hobby project developed in my free time. If you find it useful, your support helps keep me motivated and covers hosting costs.
- Proxmox VE 7.0+ or PBS 2.0+
- Network access to Proxmox API (ports 8006/8007)
Choose one method:
# Option A: Automated LXC Container (Easiest)
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/pulse.sh)"
# Option B: Docker (For existing Docker hosts)
docker run -d -p 7655:7655 -v pulse_config:/config -v pulse_data:/data rcourtman/pulse:latest
# Option C: Manual Install (For existing LXC/VMs)
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/scripts/install-pulse.sh | sudo bash- Open
http://<pulse-ip>:7655in your browser - The settings modal will open automatically
- Add your Proxmox connection:
- URL:
https://your-proxmox:8006 - Token ID:
user@pam!token(see Creating API Token) - Token Secret: Your token secret
- URL:
- Click "Test Connection" → "Save"
That's it! Pulse is now monitoring your Proxmox environment.
Proxmox VE Token (Click to expand)
-
In Proxmox web UI: Datacenter → Permissions → API Tokens → Add
-
Select user (or create new one like
pulse@pam) -
Token ID:
pulse -
Uncheck "Privilege Separation" (important!)
- CLI equivalent:
pveum user token add pulse@pam pulse --privsep 0
- CLI equivalent:
-
Copy the secret immediately (shown only once)
-
Choose your permission level:
Option A: Secure Mode (Recommended)
- Path:
/ - User:
pulse@pam(not the token!) - Role:
PVEAuditor - Propagate: Checked
✅ Monitors: VMs, containers, nodes, storage usage, PBS backups, snapshots
❌ Cannot see: PVE storage backup files (.vma)Option B: Extended Mode (if you need PVE backup visibility)
- First add PVEAuditor as above, then:
- Path:
/storage(or specific storages like/storage/local) - User:
pulse@pam - Role:
PVEDatastoreAdmin - Propagate: Checked
✅ Everything from Secure Mode + PVE storage backups
⚠️ Token can create/delete datastores (Proxmox API limitation) - Path:
See Security Guide for details.
PBS Token (Click to expand)
# Quick setup (run on PBS):
proxmox-backup-manager user create pulse@pbs --password 'TempPass123'
proxmox-backup-manager user generate-token pulse@pbs monitoring
proxmox-backup-manager acl update /datastore DatastoreAudit --auth-id 'pulse@pbs!monitoring'
# Note: PBS tokens always need explicit permissions (no privilege separation option)All configuration is done through the web interface - no file editing required!
- Settings (gear icon) - Add/modify Proxmox connections, configure alerts
- Alerts - Set CPU/Memory/Disk thresholds, configure notifications, view alert history
- Updates - Built-in updater for non-Docker installations with stable/RC channel selection
For advanced configuration options, see Configuration Guide.
Pulse offers two simple security modes:
- Public Mode (Default) - No authentication required (for trusted networks only)
- Private Mode - Authentication required with CSRF protection
Key security features:
- Session-based authentication with configurable timeouts
- CSRF protection for state-changing operations
- Support for reverse proxy deployments with
TRUST_PROXYconfiguration - Audit logging for security events
- Rate limiting on API endpoints
For production use, always use Private mode with HTTPS via reverse proxy. See Security Guide for detailed information.
- Installation Guide - Detailed install instructions for all methods
- Configuration Guide - Advanced settings and environment variables
- API Documentation - REST API endpoints and authentication
- Security Guide - Authentication and security configuration
- Reverse Proxy Guide - Nginx, Caddy, Traefik setup
- PBS Push Mode - Monitor isolated PBS servers
- Troubleshooting - Common issues and solutions
Run diagnostics: http://<pulse-ip>:7655/diagnostics.html
Most common cause: Missing API token permissions. The diagnostic tool will tell you exactly what's wrong.
- PVE Backups: Need
PVEDatastoreAdminrole on/storage - PBS Backups: Configure PBS connection in settings
- LXC/Manual: Click update button in settings or run
sudo /opt/pulse/scripts/install-pulse.sh --update - Docker: Run
docker compose pull && docker compose up -d
Pulse includes automated scripts to diagnose and fix permission issues:
# Run on your PVE node (not Pulse server)
curl -O https://raw.githubusercontent.com/rcourtman/Pulse/main/scripts/check-pve-permissions.sh
chmod +x check-pve-permissions.sh
./check-pve-permissions.sh
# Auto-fix issues
./check-pve-permissions.sh --fix# Run on your PBS server (not Pulse server)
curl -O https://raw.githubusercontent.com/rcourtman/Pulse/main/scripts/check-pbs-permissions.sh
chmod +x check-pbs-permissions.sh
./check-pbs-permissions.sh
# Auto-fix issues
./check-pbs-permissions.sh --fixThese scripts will:
- Detect all API tokens and their settings
- Check current permissions
- Identify Secure vs Extended mode
- Provide exact fix commands
- Optionally apply fixes automatically
| Method | Best For | Pros | Cons |
|---|---|---|---|
| Community Scripts | New users, dedicated monitoring | Automated setup, includes dependencies | Creates new LXC |
| Docker | Existing Docker hosts | Easy updates, isolated | No built-in updater |
| Manual | Existing LXC/VMs | Use existing system | Manual dependency install |
- Web UI: Settings → Software Updates → Check for Updates
- Docker:
docker compose pull && docker compose up -d - Manual:
sudo /opt/pulse/scripts/install-pulse.sh --update
We welcome contributions! See Contributing Guidelines.
mainbranch: Stable releases onlydevelopbranch: Active development (auto-creates RC releases)
MIT License - see LICENSE file.
Proxmox® is a registered trademark of Proxmox Server Solutions GmbH. This project is not affiliated with or endorsed by Proxmox Server Solutions GmbH.