Find a file
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
cmd/pulse feat: add encrypted config export/import for automation 2025-08-05 21:45:25 +00:00
docs docs: fix hallucinated features and scripts 2025-08-06 21:52:05 +00:00
frontend-modern fix: update UI channel selection and apply update file extraction 2025-08-07 11:16:02 +00:00
internal fix: resolve frontend redirect loop issue in releases 2025-08-07 15:59:47 +00:00
pkg fix: resolve critical issues from GitHub 2025-08-07 08:37:47 +00:00
scripts chore: update screenshots and add dark mode screenshot script 2025-08-04 21:38:11 +00:00
.dockerignore Add Docker deployment files for production readiness 2025-08-03 16:18:18 +00:00
.gitignore chore: clean up repository 2025-08-06 21:55:36 +00:00
build-release.sh fix: complete update system improvements 2025-08-07 11:43:40 +00:00
docker-compose.yml fix: correct Docker compose port mapping and remove unnecessary config volume (#249) 2025-08-05 20:29:48 +00:00
Dockerfile fix: include VERSION file in Docker final stage 2025-08-05 21:13:40 +00:00
go.mod fix: update UI channel selection and apply update file extraction 2025-08-07 11:16:02 +00:00
go.sum fix: update all dependencies to latest versions 2025-08-06 22:02:35 +00:00
install.sh fix: update install script for v4 releases 2025-08-07 11:54:58 +00:00
LICENSE fix: consolidate to encrypted-only configuration system 2025-08-03 11:19:32 +00:00
pulse-arm64 fix: resolve frontend redirect loop issue in releases 2025-08-07 15:59:47 +00:00
pulse-wrapper.sh feat: implement multi-architecture release strategy 2025-08-04 08:20:01 +00:00
README.md docs: fix hallucinated features and scripts 2025-08-06 21:52:05 +00:00
VERSION fix: resolve frontend redirect loop issue in releases 2025-08-07 15:59:47 +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