Pulse Monitor e77b4ed8f4 fix: resolve frontend redirect loop issue in releases
The issue was that the binary was looking for frontend files relative to the current working directory instead of relative to the binary location. This caused a redirect loop when the binary was installed in /opt/pulse but run from elsewhere.

Fixed by:
- Making the binary detect its own location and look for frontend files there
- Adding fallback paths for common installation locations
- Logging where frontend files are being served from for debugging
2025-08-07 15:59:47 +00:00
2025-08-06 21:55:36 +00:00

Pulse for Proxmox

Real-time monitoring for Proxmox VE and PBS with alerts and webhooks.

⚠️ Upgrading from v3? See Migration Guide - automatic upgrades will break.

Dashboard

Features

  • Live monitoring of VMs, containers, nodes, storage
  • Alerts with email and webhooks (Discord, Slack, Telegram, Teams, ntfy.sh, Gotify)
  • Unified view of PBS backups, PVE backups, and snapshots
  • PBS push mode for firewalled servers
  • Dark/light themes, responsive design
  • Built with Go for minimal resource usage

Screenshots →

Quick Start

Install

# Option A: Proxmox Helper Script (creates LXC container)
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/pulse.sh)"

# Option B: Docker
docker run -d -p 7655:7655 -v pulse_data:/data rcourtman/pulse:latest

# Option C: Manual (existing systems)
curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | sudo bash

Configure

  1. Open http://<your-server>:7655
  2. Settings → Nodes → Add Node
  3. Enter Proxmox credentials
  4. Save

Docker

Basic

docker run -d \
  --name pulse \
  -p 7655:7655 \
  -v pulse_data:/data \
  --restart unless-stopped \
  rcourtman/pulse:latest

Docker Compose

services:
  pulse:
    image: rcourtman/pulse:latest
    container_name: pulse
    ports:
      - "7655:7655"
    volumes:
      - pulse_data:/data
    restart: unless-stopped

volumes:
  pulse_data:

PBS Agent (Push Mode)

For isolated PBS servers, see PBS Agent documentation

Configuration

All configuration through web UI:

  • Settings → Nodes: Add/remove Proxmox instances
  • Settings → General: Ports, intervals, themes
  • Alerts: Thresholds and notifications

Data locations:

  • Docker: /data volume
  • Manual: /etc/pulse

Backup/Restore

# Export (v4.0.3+)
pulse config export -o backup.enc

# Import
pulse config import -i backup.enc

Or use Settings → Security tab in UI.

Updates

Docker

docker pull rcourtman/pulse:latest
docker stop pulse
docker rm pulse
# Run docker run command again

Manual Install

Settings → System → Check for Updates

API

# Status
curl http://localhost:7655/api/status

# Metrics
curl http://localhost:7655/api/metrics

# With authentication (if configured)
curl -H "X-API-Token: your-token" http://localhost:7655/api/status

Troubleshooting

Connection Issues

  • Check Proxmox API is accessible (port 8006/8007)
  • Verify credentials have PVEAuditor role minimum
  • For PBS: ensure API token has Datastore.Audit permission

High CPU/Memory

  • Reduce polling interval in Settings
  • Check number of monitored nodes
  • Disable unused features (backups, snapshots)

Logs

# Docker
docker logs pulse

# Manual
journalctl -u pulse -f

Security

  • Credentials stored encrypted (AES-256-GCM)
  • Optional API token authentication
  • Export/import requires passphrase
  • Security Details →

Development

# Frontend
cd frontend-modern
npm install
npm run dev

# Backend
go run cmd/pulse/*.go

License

MIT - See LICENSE

S
Description
Monitoring for Proxmox, Docker, Kubernetes, TrueNAS, and vSphere that watches your infrastructure for you: smart alerts, AI patrols that catch silent failures, and verified fixes
Readme MIT 435 MiB
Languages
Go 61.4%
TypeScript 31.7%
Python 3.9%
Shell 1.8%
JavaScript 0.9%
Other 0.2%