mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-22 11:13:26 +00:00
0c50d9e6b74089d42dc2a4fa54f7d50541db77fc
Add 56 test cases covering: - isTransientError: 13 cases for context errors, retryable MonitorErrors, and standard error types (nil, Canceled, DeadlineExceeded, Timeout, etc.) - shouldTryPortlessFallback: 14 cases for connection error patterns that trigger port fallback (refused, reset, no such host, timeout variants) - shouldAttemptFallback: 13 cases for timeout/deadline/canceled patterns used in storage polling fallback - classifyDLQReason: 8 cases for dead letter queue reason classification (max_retry_attempts vs permanent_failure) - Edge cases: 3 cases for overlapping error patterns and partial matches First test file for these error classification utilities used in retry and fallback decision logic.
🚀 Overview
Pulse is a modern, unified dashboard for your Proxmox and Docker estate. It consolidates metrics, logs, and alerts from Proxmox VE, Proxmox Backup Server, Proxmox Mail Gateway, and standalone Docker hosts 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
- Unified Monitoring: View health and metrics for PVE, PBS, PMG, and Docker containers in one place.
- Smart Alerts: Get notified via Discord, Slack, Telegram, Email, and more when things go wrong (e.g., "VM down", "Storage full").
- Auto-Discovery: Automatically finds Proxmox nodes on your network.
- Secure by Design: Credentials encrypted at rest, no external dependencies, and strict API scoping.
- Backup Explorer: Visualize backup jobs and storage usage across your entire infrastructure.
- Privacy Focused: No telemetry, no phone-home, all data stays on your server.
- Lightweight: Built with Go and React, running as a single binary or container.
⚡ 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
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.
- Troubleshooting: Solutions to common issues.
❤️ 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
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
aialertsdashboarddockerdocker-monitoringgohomelabinfrastructure-monitoringkubernetesmonitoringmspproxmoxproxmox-backup-serverproxmox-mail-gatewayproxmox-veself-hostedtruenastypescriptvspherewebhooks
Readme
MIT
446 MiB
Languages
Go
61.4%
TypeScript
31.7%
Python
3.9%
Shell
1.8%
JavaScript
0.9%
Other
0.2%
