mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 10:35:51 +00:00
b2ff866a42c6925423b05ebf40f5aa5acf736bdc
ProxMox Pulse
A lightweight, responsive ProxMox monitoring application that displays real-time metrics for CPU, memory, network, and disk usage across multiple nodes.
Quick Start
💻 Development
# 1. Clone and install
git clone https://github.com/rcourtman/pulse.git
cd pulse
npm install
cd frontend && npm install && cd ..
# 2. Copy and edit .env
cp .env.example .env
🚀 Production
# 1. Create your .env file with ProxMox configuration
cp .env.example .env
nano .env # or use your preferred editor
# 2. Run with Docker
docker run -d \
-p 7654:7654 \
--env-file .env \
--name pulse-app \
--restart unless-stopped \
rcourtman/pulse:latest
# 3. Access the application
open http://localhost:7654 # or visit in your browser
The Docker image is optimized for production use:
- Minimal image size with multi-stage builds
- Runs as non-root user for security
- Proper log handling and permissions
- Automatic restart on failure
- SSL/TLS support via environment variables
Version Information
- Latest version: 1.0.15
- Docker tags:
rcourtman/pulse:latest- Always points to the latest stable versionrcourtman/pulse:1.0.15- Specific version for reproducibility
Docker Tips
# View logs
docker logs pulse-app
# Restart the application
docker restart pulse-app
# Update to latest version
docker pull rcourtman/pulse:latest
docker rm -f pulse-app
docker run -d -p 7654:7654 --env-file .env --name pulse-app --restart unless-stopped rcourtman/pulse:latest
# Use a specific version
docker run -d -p 7654:7654 --env-file .env --name pulse-app --restart unless-stopped rcourtman/pulse:1.0.15
Features
- Real-time monitoring of ProxMox nodes, VMs, and containers
- Dashboard with summary cards for nodes, guests, and resources
- Responsive design that works on desktop and mobile
- WebSocket connection for live updates
Screenshots
Dashboard
Main dashboard showing node overview and resource usage
Resource Details
Detailed resource monitoring with real-time graphs
Mobile View
⚠️ Note: These screenshots are examples only. The actual interface may vary based on your ProxMox setup and version.
Development
Project Structure
pulse/
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── utils/ # Utility functions
│ │ └── styles/ # CSS and style files
│ ├── public/ # Static assets
│ └── package.json # Frontend dependencies
│
├── src/ # TypeScript backend application
│ ├── api/ # API route handlers
│ ├── proxmox/ # ProxMox API integration
│ ├── websocket/ # WebSocket server logic
│ ├── utils/ # Utility functions
│ └── server.ts # Main server entry point
│
├── scripts/ # Development and utility scripts
├── .env.example # Example environment variables
└── package.json # Backend dependencies
Available Commands
# Testing
npm run test:startup # Run startup checks
npm run test:api # Test ProxMox API connection
npm run lint # Run ESLint
# Building
npm run build # Build the TypeScript backend
Versioning
The project follows semantic versioning (MAJOR.MINOR.PATCH):
- Current version: 1.0.15
- Version format:
v1.0.15(git tags) - Docker tags: both version-specific and
latestare provided
Configuration
Environment Variables
Create a .env file based on .env.example:
# Required: ProxMox Node Configuration
PROXMOX_NODE_1_NAME=Proxmox Node 1
PROXMOX_NODE_1_HOST=https://proxmox.local:8006
PROXMOX_NODE_1_TOKEN_ID=root@pam!pulse
PROXMOX_NODE_1_TOKEN_SECRET=your-token-secret
# Optional: Additional nodes
PROXMOX_NODE_2_NAME=Proxmox Node 2
PROXMOX_NODE_2_HOST=https://proxmox2.local:8006
PROXMOX_NODE_2_TOKEN_ID=root@pam!pulse
PROXMOX_NODE_2_TOKEN_SECRET=your-token-secret
# App Configuration
PORT=7654
NODE_ENV=production
LOG_LEVEL=info
METRICS_HISTORY_MINUTES=60
NODE_POLLING_INTERVAL_MS=1000
EVENT_POLLING_INTERVAL_MS=1000
ProxMox API Token Requirements
Your ProxMox API token needs these permissions:
- PVEAuditor role or custom role with:
- Datastore.Audit
- VM.Audit
- Sys.Audit
- Pool.Audit
Troubleshooting
Connection Issues
- Verify your ProxMox node details in
.env - Run
npm run test:apito test the connection - Check if your ProxMox node is accessible
- For SSL issues in development, set:
IGNORE_SSL_ERRORS=true NODE_TLS_REJECT_UNAUTHORIZED=0
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
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
418 MiB
Languages
Go
61.4%
TypeScript
31.8%
Python
3.8%
Shell
1.8%
JavaScript
0.9%
Other
0.2%
