Find a file
2026-04-12 11:19:34 +01:00
.devcontainer feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
.github Reconcile draft release retries 2026-04-12 10:52:19 +01:00
.husky feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
cmd Add hosted tenant runtime contract reconcile command 2026-04-04 09:24:42 +01:00
deploy/helm/pulse fix(deploy): pin docs links to release refs 2026-03-28 21:32:11 +00:00
dev/oidc feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
docs Reconcile draft release retries 2026-04-12 10:52:19 +01:00
frontend-modern Remove recovery table inline styles from live demo 2026-04-12 09:23:51 +01:00
internal Own ConfigWatcher API token persistence 2026-04-12 11:19:34 +01:00
pkg Add hosted-runner budget for metrics query SLO 2026-04-11 19:57:49 +01:00
scripts Reconcile draft release retries 2026-04-12 10:52:19 +01:00
testing-tools test: add soak test with runtime instrumentation (Phase 2 Task 9d) 2025-10-20 15:13:38 +00:00
tests Restore dashboard relay onboarding proof 2026-04-11 00:19:48 +01:00
.air.toml chore: Add Air hot-reload configuration 2026-01-19 19:26:50 +00:00
.dockerignore Own Docker build context for shipped docs 2026-04-03 20:03:22 +01:00
.env.example docs: update API documentation and config file references 2026-02-01 23:26:42 +00:00
.gitattributes chore: optimize PNG images and add .gitattributes 2025-11-24 23:44:55 +00:00
.gitguardian.yaml Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
.gitignore Generate typed platform support projection 2026-04-10 16:52:18 +01:00
.gitleaks.toml feat(security): add gitleaks secret scanning to pre-commit hook and CI 2026-02-04 09:52:54 +00:00
.golangci.yml feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
.markdownlint-cli2.jsonc docs: standardize markdown syntax and remove deprecated sensor-proxy docs 2026-01-20 09:43:49 +00:00
.markdownlint.json docs: standardize markdown syntax and remove deprecated sensor-proxy docs 2026-01-20 09:43:49 +00:00
analyze_coverage.py docs: update AI evaluation matrix and approval workflow documentation 2026-01-30 19:00:40 +00:00
ARCHITECTURE.md Use flowchart syntax in architecture doc 2026-03-19 14:47:00 +00:00
artifacthub-repo.yml Add Artifact Hub repository metadata for chart discoverability 2025-11-11 19:39:19 +00:00
audit_report.md Fix alert system reliability issues and update audit report 2026-02-04 12:50:36 +00:00
CONTRIBUTING.md Expand managed dev browser proof pack 2026-03-24 21:48:34 +00:00
cr.yaml Add GitHub Pages Helm repository distribution (#686) 2025-11-11 19:26:18 +00:00
docker-compose.yml feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
docker-entrypoint.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
docker-healthcheck.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
Dockerfile Stage shipped docs into Docker runtime builds 2026-04-03 19:55:11 +01:00
go.mod fix: remediate dependency alerts 2026-04-09 09:35:28 +01:00
go.sum fix: remediate dependency alerts 2026-04-09 09:35:28 +01:00
install.sh Add explicit auto-update disable install mode 2026-04-10 11:34:58 +01:00
LICENSE Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
Makefile Route Makefile dev targets through npm wrappers 2026-03-24 21:37:28 +00:00
package-lock.json feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
package.json Expose managed dev runtime entrypoint 2026-03-24 14:46:58 +00:00
playwright.config.ts fix(frontend): sync summary hover cursor and proof 2026-04-01 14:48:47 +01:00
README.md Align quickstart copy to activated install contract 2026-04-03 00:57:32 +01:00
SECURITY.md docs(security): localize shipped doc self-link 2026-03-28 19:48:32 +00:00
TERMS.md fix(patrol): address multiple issues in patrol service 2026-01-02 12:45:00 +00:00
VERSION Reclaim v6 rc.1 as first public prerelease 2026-04-09 17:58:40 +01:00

Pulse

Pulse Logo

Real-time monitoring for Proxmox, Docker, Kubernetes, and TrueNAS infrastructure.

GitHub Stars GitHub release Docker Pulls License

Live DemoPulse ProDocumentationReport Bug


🚀 Overview

Pulse is a modern, unified dashboard for monitoring your infrastructure across Proxmox, Docker, Kubernetes, and TrueNAS. 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.

Pulse Dashboard

🧭 Unified Navigation

Pulse now groups everything by task instead of data source:

  • Infrastructure for hosts and nodes
  • Workloads for VMs, containers, and Kubernetes pods
  • Storage and Backups as top-level views
  • PMG now routes into Infrastructure (source filter), and Kubernetes routes into Workloads (K8s filter)
  • Legacy URLs are no longer routed as compatibility aliases; use canonical v6 routes.

Power-user shortcuts:

  • g i → Infrastructure, g w → Workloads, ? → shortcuts help
  • / or Cmd/Ctrl+K → global search

Features

Core Monitoring

  • Unified Monitoring: View health and metrics for PVE, PBS, PMG, Docker, Kubernetes, and TrueNAS 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
  • Recovery Central: Unified backup/snapshot/replication timeline across PBS and TrueNAS

AI-Powered

  • Chat Assistant (BYOK): Ask questions about your infrastructure in natural language
  • Patrol: Background health checks that generate findings on a schedule. Activated or trial-backed installs can use 25 Patrol quickstart runs with no API key for initial Patrol setup; otherwise self-hosted use is BYOK.
  • Alert Analysis (Pro/Pro+/Cloud): 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
  • TrueNAS: Pools, datasets, disks, ZFS snapshots, replication tasks, and alerts
  • 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, agent commands disabled by default
  • One-Click Updates: Easy upgrades for supported deployments
  • OIDC/SSO/SAML: Single sign-on with multi-provider support
  • Mobile Remote Access: Relay protocol with end-to-end encryption for supported Pulse Mobile clients (Relay and above)
  • Privacy Focused: Anonymous telemetry is enabled by default and fully documented — no hostnames, credentials, or personal data is ever sent. Disable any time in Settings or via PULSE_TELEMETRY=false.

Quick Start

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 → Unified 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.

Local Development

Use the managed dev runtime from the repo root:

npm run dev

Open http://127.0.0.1:5173 in the browser. 5173 is the frontend dev shell, and it proxies /api and /ws to the backend on 7655. 7655 is the backend dependency for API and websocket traffic, not the primary browser URL for local frontend development.

Canonical local dev commands:

  • npm run dev — start the managed runtime and reclaim the canonical dev ports if an older unmanaged session is still using them
  • npm run dev:status — show frontend shell health, proxied API health, direct backend health, and listener ownership
  • npm run dev:verify — run the managed browser proof pack against the live dev runtime, including runtime recovery, the Patrol blocked-runtime page contract, and the desktop Recovery layout guard while the launcher suppresses unrelated backend rebuild churn for the duration of the proof pack
  • npm run dev:logs — tail the managed runtime log
  • npm run dev:backend-restart — bounce only the managed backend through the launcher contract
  • npm run dev:stop — stop the managed runtime
  • npm run dev:foreground — run the foreground hot-reload launcher intentionally if you need an attached shell

If npm run dev:verify passes, the managed dev shell, proxy path, backend health endpoint, browser recovery path, Patrol blocked-runtime page behavior, and Recovery desktop history-table layout are all aligned.

📚 Documentation

🌐 Community Integrations

Community-maintained integrations and addons:

💳 Plans (Community / Relay / Pro / Pro+ / Cloud)

Pulse is full-featured for core monitoring in every tier. Self-hosted pricing now sells monitored coverage by monitored system, not by installed agent. Cloud and MSP pricing are unchanged.

Self-hosted tiers:

Plan Price Included monitored systems Metric history Key upgrade
Community Free 5 7 days Core monitoring for one real small lab
Relay $4.99/mo or $39/yr 8 14 days Remote access, mobile, and push notifications
Pro $8.99/mo or $79/yr 15 90 days AI investigation, auto-fix, and operations tooling
Pro+ $14.99/mo or $129/yr 50 90 days More room for larger self-hosted labs

Pulse counts top-level monitored systems once no matter how they are collected. VMs, containers, pods, disks, backups, and other child resources under that system are included rather than counted separately.

Community keeps Patrol available with BYOK. Activated or trial-backed installs can also use Patrol quickstart for first-run activation: 25 Patrol runs with no API key on a server-verified install. Without activation, self-hosted Patrol continues with your configured provider. Relay remains the convenience tier, and Pro/Pro+ are the paid operations tiers.

Runtime-aligned capability summary:

Capability Community Relay Pro Pro+ Cloud
Pulse Patrol (Background Health Checks)
Remote Access / Mobile / Push
Alert Analysis
Pulse Patrol Auto-Fix
Kubernetes Analysis
Centralized Agent Profiles
Update Alerts (Container/Package Updates)
Basic SSO (OIDC)
Advanced SSO (SAML/Multi-Provider)
Role-Based Access Control (RBAC)
Enterprise Audit Logging
Advanced Infrastructure Reporting (PDF/CSV)
Extended Metric History 7 days 14 days 90 days 90 days Hosted entitlements

Pulse 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

On self-hosted installs, Pulse Patrol's steady-state path uses your configured provider (BYOK) from your Pulse server. The one hosted exception is Patrol quickstart: activated or trial-backed installs get 25 Patrol runs through the managed quickstart proxy so you can try Patrol before adding an API key. Unactivated Community installs should activate, start a trial, or use BYOK. Chat Assistant remains BYOK.

Technical highlights:

  • Cross-system context (nodes, VMs, backups, containers, and metrics history)
  • LLM analysis with your provider + alert-triggered deep dives (Pro/Pro+/Cloud)
  • 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 plan 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!

GitHub Sponsors ko-fi

📄 License

MIT © Richard Courtman. Use of Pulse Pro is subject to the Terms of Service.