Major expansion of the knowledge extraction system with extractors for
every tool action, plus critical bug fixes discovered during live testing:
Extractors added:
- query: topology, health, search, list, config (with secondary cached key)
- storage: pools, disk_health, raid, backups, backup_tasks, ceph, ceph_details,
snapshots, replication, pbs_jobs, resource_disks
- metrics: performance, baselines, physical disks, temperatures
- alerts: list, findings (with resource_id in key to prevent collisions)
- docker: services, updates, swarm, tasks
- kubernetes: clusters, nodes, pods, deployments
- pmg: status, mail_stats, queues, spam
- patrol: get_findings
- exec/read: file reads and command execution
Bug fixes from live testing:
- Config predict key mismatch: model omits node from input, added secondary
config:{resource_id}:cached key for reliable gate matching
- Baselines predict key mismatch: predict returned baseline:{id} but extractor
stores baselines:queried; simplified predict to always return marker key
- Query:get composite ID: resource.ID contained node prefix (delly:minipc:100),
now prefers VMID (int) over composite string
- Alerts findings wrong JSON field: struct expected "findings" but API returns
"active" with separate "counts" object
- Finding key collision: two findings with same key but different resource_id
overwrote each other; added resource_id to fact key
- Backup tasks vmid type: API returns int but struct had string, causing
json.Unmarshal failure; also fixed status case-sensitivity (OK vs ok)
Tests: 91+ tests including 38 roundtrip cases, 5 gate flow tests, negative
marker test. All pass.
Pulse
🚀 Overview
Pulse is a modern, unified dashboard for monitoring your infrastructure across Proxmox, Docker, and Kubernetes. It consolidates metrics, alerts, and AI-powered insights from all your systems into a single, beautiful interface.
Designed for homelabs, sysadmins, and MSPs who need a "single pane of glass" without the complexity of enterprise monitoring stacks.
✨ Features
Core Monitoring
- Unified Monitoring: View health and metrics for PVE, PBS, PMG, Docker, and Kubernetes in one place
- Smart Alerts: Get notified via Discord, Slack, Telegram, Email, and more
- Auto-Discovery: Automatically finds Proxmox nodes on your network
- Metrics History: Persistent storage with configurable retention
- Backup Explorer: Visualize backup jobs and storage usage
AI-Powered
- Chat Assistant: Ask questions about your infrastructure in natural language
- Patrol: Background health checks that generate findings on a schedule
- Alert Analysis: Optional AI analysis when alerts fire
- Cost Tracking: Track usage and costs per provider/model
Multi-Platform
- Proxmox VE/PBS/PMG: Full monitoring and management
- Kubernetes: Complete K8s cluster monitoring via agents
- Docker/Podman: Container and Swarm service monitoring
- OCI Containers: Proxmox 9.1+ native container support
Security & Operations
- Secure by Design: Credentials encrypted at rest, strict API scoping
- One-Click Updates: Easy upgrades for supported deployments
- OIDC/SSO: Single sign-on authentication
- Privacy Focused: No telemetry, all data stays on your server
⚡ Quick Start
Option 1: Proxmox LXC (Recommended)
Run this one-liner on your Proxmox host to create a lightweight LXC container:
curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | bash
Note: this installs the Pulse server. Agent installs use the command generated in Settings → Agents → Installation commands (served from /install.sh on your Pulse server).
Option 2: Docker
docker run -d \
--name pulse \
-p 7655:7655 \
-v pulse_data:/data \
--restart unless-stopped \
rcourtman/pulse:latest
Access the dashboard at http://<your-ip>:7655.
📚 Documentation
- Installation Guide: Detailed instructions for Docker, Kubernetes, and bare metal.
- Configuration: Setup authentication, notifications, and advanced settings.
- Security: Learn about Pulse's security model and best practices.
- API Reference: Integrate Pulse with your own tools.
- Architecture: High-level system design and data flow.
- Troubleshooting: Solutions to common issues.
- Agent Security: Details on checksum-verified updates and verification.
- Docker Monitoring: Setup and management of Docker agents.
🌐 Community Integrations
Community-maintained integrations and addons:
- Home Assistant Addons - Run Pulse Agent and Pulse Server as Home Assistant addons.
🚀 Pulse Pro
Pulse Pro unlocks LLM-backed AI Patrol — automated background monitoring that catches issues before they become outages.
| Feature | Free | Pro |
|---|---|---|
| Real-time dashboard | ✅ | ✅ |
| Threshold alerts | ✅ | ✅ |
| AI Chat (BYOK) | ✅ | ✅ |
| Heuristic Patrol (local rules) | ✅ | ✅ |
| LLM-backed AI Patrol | — | ✅ |
| Alert-triggered AI analysis | — | ✅ |
| Kubernetes AI analysis | — | ✅ |
| Auto-fix + autonomous mode | — | ✅ |
| Centralized agent profiles | — | ✅ |
| Advanced Reporting (PDF/CSV) | — | ✅ |
| Audit Webhooks (SIEM integration) | — | ✅ |
| Priority support | — | ✅ |
AI Patrol runs on your schedule (every 10 minutes to every 7 days, default 6 hours) and finds:
- ZFS pools approaching capacity
- Backup jobs that silently failed
- VMs stuck in restart loops
- Clock drift across cluster nodes
- Container health check failures
Technical highlights:
- Cross-system context (nodes, VMs, backups, containers, and metrics history)
- LLM analysis for high-impact findings + alert-triggered deep dives
- Optional auto-fix with command safety policies and audit trail
- Centralized agent profiles for consistent fleet settings
Try the live demo → or learn more at pulserelay.pro
Pulse Pro technical details: docs/PULSE_PRO.md
❤️ Support Pulse Development
Pulse is maintained by one person. Sponsorships help cover the costs of the demo server, development tools, and domains. If Pulse saves you time, please consider supporting the project!
📄 License
MIT © Richard Courtman. Use of Pulse Pro is subject to the Terms of Service.
