No description
Find a file
rcourtman 7b55564b62 security: Add request body size limits to API handlers
Add http.MaxBytesReader to 16 additional handlers to prevent memory
exhaustion attacks via oversized request bodies:

- docker_agents.go: HandleReport (512KB), HandleCommandAck (8KB),
  HandleSetCustomDisplayName (8KB)
- alerts.go: UpdateAlertConfig (64KB), BulkAcknowledgeAlerts (32KB),
  BulkClearAlerts (32KB)
- config_handlers.go: HandleAddNode, HandleTestConnection,
  HandleUpdateNode, HandleTestNodeConfig (32KB each),
  HandleVerifyTemperatureSSH, HandleExportConfig, HandleDiscoverServers,
  HandleSetupScriptURL (8KB each), HandleImportConfig (1MB),
  HandleUpdateMockMode (16KB)
2025-12-02 16:43:13 +00:00
.github Fix docker-compose command not found in integration tests 2025-12-01 00:40:00 +00:00
cmd Add unit tests for validation utility functions (pulse-sensor-proxy) 2025-11-30 17:04:43 +00:00
deploy/helm/pulse Auto-update Helm chart version to 4.33.0 2025-11-26 10:49:02 +00:00
dev/oidc
docs docs: Clarify multi-server Proxmox temperature monitoring setup 2025-12-02 11:36:43 +00:00
frontend-modern fix: Prevent agent type badge flapping in UnifiedAgents view 2025-12-02 11:29:03 +00:00
internal security: Add request body size limits to API handlers 2025-12-02 16:43:13 +00:00
pkg docs: Add godoc comments to exported functions 2025-12-02 15:58:59 +00:00
scripts fix: add timeout to pmxcfs operations in install-sensor-proxy.sh 2025-12-01 21:04:01 +00:00
security
testing-tools
tests/integration
.dockerignore
.env.example
.gitattributes
.gitguardian.yaml
.gitignore chore: clean up stale .gitignore entries 2025-11-26 23:39:46 +00:00
.golangci.yml
artifacthub-repo.yml
CONTRIBUTING.md
cr.yaml
DEV-QUICK-START.md
docker-compose.yml
docker-entrypoint.sh
Dockerfile fix: remove references to deleted install-host-agent.sh script 2025-11-26 09:57:06 +00:00
go.mod
go.sum
install.sh fix: deploy unified agent scripts and binaries during installation 2025-11-26 20:35:52 +00:00
LICENSE
Makefile Fix macOS unified agent binary naming in Makefile 2025-11-28 11:36:24 +00:00
mock.env Enhance table responsiveness across multiple components 2025-11-26 17:57:09 +00:00
README.md feat: serve install scripts from GitHub releases instead of main branch 2025-11-26 08:59:59 +00:00
SECURITY.md feat: serve install scripts from GitHub releases instead of main branch 2025-11-26 08:59:59 +00:00
VERSION Bump version to 4.36.0 2025-12-01 22:57:07 +00:00

Pulse Logo

Pulse

Real-time monitoring for Proxmox VE, Proxmox Mail Gateway, PBS, and Docker infrastructure.

GitHub release Docker Pulls License GitHub Sponsors

Live DemoDocumentationReport Bug


🚀 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.

Pulse Dashboard

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

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

❤️ 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