{"id":34594224,"url":"https://github.com/rcourtman/pulse","last_synced_at":"2026-04-07T12:01:14.817Z","repository":{"id":281525970,"uuid":"932825524","full_name":"rcourtman/Pulse","owner":"rcourtman","description":"Real-time monitoring for Proxmox, Docker, and Kubernetes with AI-powered insights, smart alerts, and a beautiful unified dashboard","archived":false,"fork":false,"pushed_at":"2026-04-02T14:20:48.000Z","size":255950,"stargazers_count":5215,"open_issues_count":93,"forks_count":212,"subscribers_count":29,"default_branch":"main","last_synced_at":"2026-04-03T02:59:26.410Z","etag":null,"topics":["ai","alerts","dashboard","docker","docker-monitoring","go","homelab","host-monitoring","infrastructure-monitoring","kubernetes","monitoring","proxmox","proxmox-backup-server","proxmox-mail-gateway","proxmox-ve","react","self-hosted","typescript","webhooks"],"latest_commit_sha":null,"homepage":"https://pulserelay.pro","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rcourtman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit_report.md","citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"rcourtman","ko_fi":"rcourtman"}},"created_at":"2025-02-14T15:36:13.000Z","updated_at":"2026-04-03T00:47:51.000Z","dependencies_parsed_at":"2026-01-05T10:04:07.890Z","dependency_job_id":null,"html_url":"https://github.com/rcourtman/Pulse","commit_stats":null,"previous_names":["rcourtman/pulse"],"tags_count":713,"template":false,"template_full_name":null,"purl":"pkg:github/rcourtman/Pulse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcourtman%2FPulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcourtman%2FPulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcourtman%2FPulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcourtman%2FPulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcourtman","download_url":"https://codeload.github.com/rcourtman/Pulse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcourtman%2FPulse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31511784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","alerts","dashboard","docker","docker-monitoring","go","homelab","host-monitoring","infrastructure-monitoring","kubernetes","monitoring","proxmox","proxmox-backup-server","proxmox-mail-gateway","proxmox-ve","react","self-hosted","typescript","webhooks"],"created_at":"2025-12-24T11:25:32.859Z","updated_at":"2026-04-07T12:01:14.794Z","avatar_url":"https://github.com/rcourtman.png","language":"Go","readme":"# Pulse\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/images/pulse-logo.svg\" alt=\"Pulse Logo\" width=\"120\" /\u003e\n  \u003cp\u003e\u003cstrong\u003eReal-time monitoring for Proxmox, Docker, and Kubernetes infrastructure.\u003c/strong\u003e\u003c/p\u003e\n\n  [![GitHub Stars](https://img.shields.io/github/stars/rcourtman/Pulse?style=flat\u0026logo=github)](https://github.com/rcourtman/Pulse)\n  [![GitHub release](https://img.shields.io/github/v/release/rcourtman/Pulse)](https://github.com/rcourtman/Pulse/releases/latest)\n  [![Docker Pulls](https://img.shields.io/docker/pulls/rcourtman/pulse)](https://hub.docker.com/r/rcourtman/pulse)\n  [![License](https://img.shields.io/github/license/rcourtman/Pulse)](LICENSE)\n\n  [Live Demo](https://demo.pulserelay.pro) • [Pulse Pro](https://pulserelay.pro) • [Documentation](docs/README.md) • [Report Bug](https://github.com/rcourtman/Pulse/issues)\n\u003c/div\u003e\n\n---\n\n## 🚀 Overview\n\nPulse 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.\n\nDesigned for homelabs, sysadmins, and MSPs who need a \"single pane of glass\" without the complexity of enterprise monitoring stacks.\n\n![Pulse Dashboard](docs/images/01-dashboard.jpg)\n\n## ✨ Features\n\n### Core Monitoring\n- **Unified Monitoring**: View health and metrics for PVE, PBS, PMG, Docker, and Kubernetes in one place\n- **Smart Alerts**: Get notified via Discord, Slack, Telegram, Email, and more\n- **Auto-Discovery**: Automatically finds Proxmox nodes on your network\n- **Metrics History**: Persistent storage with configurable retention\n- **Backup Explorer**: Visualize backup jobs and storage usage\n\n### AI-Powered\n- **Chat Assistant (BYOK)**: Ask questions about your infrastructure in natural language\n- **Patrol (BYOK)**: Background health checks that generate findings on a schedule\n- **Alert Analysis (Pro)**: Optional AI analysis when alerts fire\n- **Cost Tracking**: Track usage and costs per provider/model\n\n### Multi-Platform\n- **Proxmox VE/PBS/PMG**: Full monitoring and management\n- **Kubernetes**: Complete K8s cluster monitoring via agents\n- **Docker/Podman**: Container and Swarm service monitoring\n- **OCI Containers**: Proxmox 9.1+ native container support\n\n### Security \u0026 Operations\n- **Secure by Design**: Credentials encrypted at rest, strict API scoping\n- **One-Click Updates**: Easy upgrades for supported deployments\n- **OIDC/SSO**: Single sign-on authentication\n- **Privacy Focused**: No telemetry, all data stays on your server\n\n## ⚡ Quick Start\n\n### Option 1: Proxmox LXC (Recommended)\nRun this one-liner on your Proxmox host to create a lightweight LXC container:\n\n```bash\ncurl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | bash\n```\n\nNote: this installs the Pulse **server**. Agent installs use the command generated in **Settings → Agents → Installation commands** (served from `/install.sh` on your Pulse server).\n\n### Option 2: Docker\n```bash\ndocker run -d \\\n  --name pulse \\\n  -p 7655:7655 \\\n  -v pulse_data:/data \\\n  --restart unless-stopped \\\n  rcourtman/pulse:latest\n```\n\nAccess the dashboard at `http://\u003cyour-ip\u003e:7655`.\n\n## 📚 Documentation\n\n- **[Installation Guide](docs/INSTALL.md)**: Detailed instructions for Docker, Kubernetes, and bare metal.\n- **[Configuration](docs/CONFIGURATION.md)**: Setup authentication, notifications, and advanced settings.\n- **[Security](SECURITY.md)**: Learn about Pulse's security model and best practices.\n- **[API Reference](docs/API.md)**: Integrate Pulse with your own tools.\n- **[Architecture](ARCHITECTURE.md)**: High-level system design and data flow.\n- **[Troubleshooting](docs/TROUBLESHOOTING.md)**: Solutions to common issues.\n- **[Agent Security](docs/AGENT_SECURITY.md)**: Details on checksum-verified updates and verification.\n- **[Docker Monitoring](docs/DOCKER.md)**: Setup and management of Docker agents.\n\n## 🌐 Community Integrations\n\nCommunity-maintained integrations and addons:\n\n- **[Home Assistant Addons](https://github.com/Kosztyk/homeassistant-addons)** - Run Pulse Agent and Pulse Server as Home Assistant addons.\n\n## 🚀 Pulse Pro\n\n**[Pulse Pro](https://pulserelay.pro)** unlocks **Auto-Fix and advanced AI analysis** — **Pulse Patrol is available to everyone with BYOK**.\n\n| Feature | Free | Pro |\n|---------|------|-----|\n| Real-time dashboard | ✅ | ✅ |\n| Threshold alerts | ✅ | ✅ |\n| AI Chat (BYOK) | ✅ | ✅ |\n| **Pulse Patrol (BYOK)** | ✅ | ✅ |\n| Alert-triggered AI analysis | — | ✅ |\n| Kubernetes AI analysis | — | ✅ |\n| Auto-fix + autonomous mode | — | ✅ |\n| Centralized agent profiles | — | ✅ |\n| **Advanced Reporting (PDF/CSV)** | — | ✅ |\n| **Audit Webhooks (SIEM integration)** | — | ✅ |\n| Priority support | — | ✅ |\n\nPulse Patrol runs on your schedule (every 10 minutes to every 7 days, default 6 hours) and finds:\n- ZFS pools approaching capacity\n- Backup jobs that silently failed\n- VMs stuck in restart loops\n- Clock drift across cluster nodes\n- Container health check failures\n\nPulse Patrol uses your configured provider (BYOK) and runs entirely on your server.\n\nTechnical highlights:\n- Cross-system context (nodes, VMs, backups, containers, and metrics history)\n- LLM analysis with your provider + alert-triggered deep dives (Pro)\n- Optional auto-fix with command safety policies and audit trail\n- Centralized agent profiles for consistent fleet settings\n\n**[Try the live demo →](https://demo.pulserelay.pro)** or **[learn more at pulserelay.pro](https://pulserelay.pro)**\n\nPulse Pro technical details: [docs/PULSE_PRO.md](docs/PULSE_PRO.md)\n\n## ❤️ Support Pulse Development\n\nPulse 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!\n\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/rcourtman?label=Sponsor)](https://github.com/sponsors/rcourtman)\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/rcourtman)\n\n## 📄 License\n\nMIT © [Richard Courtman](https://github.com/rcourtman). Use of Pulse Pro is subject to the [Terms of Service](TERMS.md).\n","funding_links":["https://github.com/sponsors/rcourtman","https://ko-fi.com/rcourtman"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcourtman%2Fpulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcourtman%2Fpulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcourtman%2Fpulse/lists"}