rcourtman 3b347b6548 fix: harden SQLite against I/O contention causing persistent lock errors
- Move all SQLite pragmas from db.Exec() to DSN parameters so every
  connection the pool creates gets busy_timeout and other settings.
  Previously only the first connection had these applied.
- Set MaxOpenConns(1) on audit, RBAC, and notification databases
  (metrics already had this). Fixes potential for multiple connections
  where new ones lack busy_timeout.
- Increase busy_timeout from 5s to 30s across all databases to
  tolerate disk I/O pressure during backup windows.
- Fix nested query deadlocks in GetRoles(), GetUserAssignments(), and
  CancelByAlertIDs() that would deadlock with MaxOpenConns(1).
- Fix circuit breaker retryInterval not resetting on recovery, which
  caused the next trip to start at 5-minute backoff instead of 5s.

Related to #1156
2026-02-02 17:29:14 +00:00
2025-10-11 23:29:47 +00:00
2026-01-20 17:24:39 +00:00

Pulse

Pulse Logo

Real-time monitoring for Proxmox, Docker, and Kubernetes 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, 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.

Pulse Dashboard

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 (BYOK): Ask questions about your infrastructure in natural language
  • Patrol (BYOK): Background health checks that generate findings on a schedule
  • Alert Analysis (Pro): 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

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

🌐 Community Integrations

Community-maintained integrations and addons:

🚀 Pulse Pro

Pulse Pro unlocks Auto-Fix and advanced AI analysisPulse Patrol is available to everyone with BYOK.

Feature Free Pro
Real-time dashboard
Threshold alerts
AI Chat (BYOK)
Pulse Patrol (BYOK)
Alert-triggered AI analysis
Kubernetes AI analysis
Auto-fix + autonomous mode
Centralized agent profiles
Advanced Reporting (PDF/CSV)
Audit Webhooks (SIEM integration)
Priority support

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

Pulse Patrol uses your configured provider (BYOK) and runs entirely on your server.

Technical highlights:

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

GitHub Sponsors ko-fi

📄 License

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

Description
No description provided
Readme MIT 261 MiB
Languages
Go 75.3%
TypeScript 21.7%
Shell 2.4%
PowerShell 0.3%