Commit Graph

89 Commits

Author SHA1 Message Date
Pulse Monitor 15a9158d58 docs: remove ProxmoxVE Helper Script references
The ProxmoxVE Helper Script is no longer the recommended installation method.
Users should use the official install.sh script instead, which supports
creating LXC containers directly on Proxmox hosts.

For existing users confused about updating (like in discussion #407), they
can use 'pct enter' from the Proxmox host to access their container as root.
2025-09-01 22:59:32 +00:00
Pulse Monitor effa640fda feat: improve VM disk stats handling and documentation
- Add DiskStatusReason field to track why disk stats are unavailable
- Show helpful tooltips in UI explaining specific issues:
  - Proxmox 9 API token limitation (401 on guest agent endpoints)
  - Guest agent not installed/running
  - Special filesystems only (Live ISOs)
  - Permission issues
- Add comprehensive troubleshooting guide (docs/VM_DISK_STATS_TROUBLESHOOTING.md)
- Document that API tokens cannot access guest agent data on PVE 9
- Tested and confirmed: only password/cookie auth works for guest agent on PVE 9
- Update README with quick reference to VM disk stats issue

This addresses issues #348, #367, and #71 by clearly explaining the root cause
(Proxmox API limitation) and providing actionable guidance to users.
2025-09-01 10:16:02 +00:00
Pulse Monitor 0a86333374 feat: improve screenshots and mobile UI responsiveness
- Update screenshot tool to use MacBook Air resolution (2560x1600)
- Remove empty side borders from screenshots
- Use mock data for all screenshots for privacy
- Fix mobile alert buttons overflowing viewport
- Exempt localhost from API rate limiting for better dev experience
- Update documentation to showcase all features with screenshots
- Reorganize README visual tour into feature sections
2025-08-30 12:25:53 +00:00
Pulse Monitor 998c201dfd docs: simplify project name from 'Pulse for Proxmox' to 'Pulse'
The context already makes it clear this is for Proxmox monitoring
2025-08-30 11:15:47 +00:00
Pulse Monitor be8392fad3 feat: improve documentation with high-quality screenshots and mock alert history
- Add high-quality screenshots with 3x device scale factor for crisp text
- Implement mock alert history generator spanning 90 days
- Update documentation with detailed screenshot descriptions
- Add visual tour section to README with key screenshots
- Fix mock mode to properly separate from production data
- Clean up screenshot script to use actual mock data instead of DOM injection
- Enhance FAQ and webhooks docs with relevant screenshots
2025-08-30 11:13:41 +00:00
Pulse Monitor 1f3cf4d694 docs: add comprehensive automatic update documentation
- Document auto-update feature in README
- Add detailed setup instructions in INSTALL.md
- Include auto-update configuration in CONFIGURATION.md
- Explain systemd timer behavior and controls
- Note that Docker doesn't support auto-updates
2025-08-27 15:43:03 +00:00
Pulse Monitor 25dbc0a689 feat: add dual authentication for setup scripts
- Setup scripts now accept both temporary setup codes and permanent API tokens
- Setup codes (6 chars): For manual setup by others, expire in 5 minutes
- API tokens: For automation and trusted environments, no expiration
- Modified auto-registration endpoint to accept API tokens directly
- Fixed JSON escaping issues with exclamation marks in bash scripts
- Updated README with clear documentation of both authentication methods
- Discovery modal now shows cached results immediately while scanning

This enables both secure manual setup (via temporary codes) and reliable
automation (via API tokens) without compromising security.
2025-08-25 21:47:48 +00:00
Pulse Monitor b53d9070ba improve: clearer VM disk monitoring error messages (addresses #348, #344)
- Add detailed logging when VM disk monitoring fails due to permissions
- Explain Proxmox 9 limitation: API tokens cannot access guest agent data (PVE bug #1373)
- Explain Proxmox 8 requirements: VM.Monitor permission and privsep=0 for tokens
- Update setup script to show appropriate warnings for each PVE version
- Update FAQ with troubleshooting steps for 0% disk usage on VMs
- Log messages now clearly indicate workarounds for each scenario

The core issue: Proxmox 9 removed VM.Monitor permission and the replacement
permissions don't allow API tokens to access guest agent filesystem info.
This is a Proxmox upstream bug that affects their own web UI as well.

For users experiencing this issue:
- PVE 9: Use root@pam credentials or wait for Proxmox to fix upstream
- PVE 8: Ensure token has VM.Monitor and privsep=0
- All versions: QEMU guest agent must be installed in VMs
2025-08-25 09:00:40 +00:00
Pulse Monitor 4631c9fea3 docs: remove unnecessary sudo from install commands
- LXC containers run as root and don't have sudo installed
- Updated all documentation to remove sudo references
- Updated frontend UI to show correct install command
- Keep sudo mention only in troubleshooting for edge cases
2025-08-24 22:56:21 +00:00
Pulse Monitor 1834a703d5 refactor: simplify setup flow by removing setup code prompts
Replaced the two-step setup code process with a simpler token-in-URL approach:
- Auth token is now embedded directly in the setup URL
- No more prompting users for setup codes
- Same security level with better UX
- Backwards compatible with old setupCode field

The new flow generates a command like:
curl -sSL "http://pulse/api/setup-script?...&auth_token=TOKEN" | bash

This makes it much easier for users, especially in Proxmox shell where
interactive prompts can be problematic.
2025-08-23 22:16:01 +00:00
Pulse Monitor 35d2960c5f feat: add proxy authentication support
Implements header-based proxy authentication for SSO integration with
Authentik, Authelia, and other authentication proxies.

- Add CheckProxyAuth function to validate proxy headers
- Support for username and role-based access control
- Frontend integration with logout URL support
- Comprehensive documentation with examples
- Backwards compatible - no breaking changes

Addresses #327

Configuration via environment variables:
- PROXY_AUTH_SECRET: Shared secret for validation
- PROXY_AUTH_USER_HEADER: Header containing username
- PROXY_AUTH_ROLE_HEADER: Header containing roles/groups
- PROXY_AUTH_LOGOUT_URL: SSO logout endpoint
2025-08-22 09:47:18 +00:00
Pulse Monitor 1dcb102812 docs: remove emojis from README for more professional appearance 2025-08-22 08:01:33 +00:00
Pulse Monitor 2ee600348a improve: clarify configuration file separation and port setup
- Added comprehensive PORT_CONFIGURATION.md guide
- Updated CONFIGURATION.md to clarify .env is for auth only
- Install script no longer loads .env for environment variables
- Documented proper port configuration methods (systemd, system.json)
- Added port config guide to README documentation section

addresses #110 - helps users understand where to configure ports
2025-08-21 21:29:12 +00:00
Pulse Monitor 45f974e026 docs: add clear Updating section to README
- Simple update commands for each installation type
- LXC containers just run 'update' command
- Standard installs re-run the installer
- Docker users pull and recreate
2025-08-21 20:59:07 +00:00
Pulse Monitor 2c5b73626d feat: add version command and privacy disclosure
- Added 'pulse --version' and 'pulse version' commands
- Version info embedded at build time (version, commit, build date)
- Added Privacy section to README - no telemetry/analytics
- Added example alert messages to show webhook capabilities
- Build script now properly embeds version information
2025-08-21 20:54:41 +00:00
Pulse Monitor 562f8f89db docs: better README flow with context before install
- Removed overly aggressive Quick Install section
- Added brief description of what Pulse does
- Kept sponsorship section high for visibility
- Install command now in logical Quick Start section
- Better context and explanation before showing commands
2025-08-21 20:49:27 +00:00
Pulse Monitor 570a7ec5b0 docs: make install command front and center
- Added Quick Install section right after title
- Single copyable command prominently displayed
- Moved detailed options lower in the document
2025-08-21 20:45:46 +00:00
Pulse Monitor ad00943717 feat: major installer improvements for Proxmox environments
- Auto-detects Proxmox VE hosts and creates LXC containers
- Quick mode with sensible defaults (1GB RAM, 4GB disk)
- Advanced mode for full customization
- Automatic cleanup on failure
- Simple 'update' command in containers
- Improved error handling and network detection
- Professional, clean output without verbose noise
- Docker detection to prevent container-in-container
- Removed all references to community scripts

This is now the primary recommended installation method.
2025-08-21 20:43:56 +00:00
Pulse Monitor 84e7084c85 docs: prioritize official installer over community scripts in README
Changed install options order to recommend the official installer first for
systemd/bare metal installations, with community scripts as an alternative option
2025-08-21 18:34:27 +00:00
Pulse Monitor 0dd657d05f docs: restore and improve Docker network discovery section with clearer explanation 2025-08-21 15:49:56 +00:00
Pulse Monitor 7eb9fea2ba docs: remove redundant Docker network discovery section 2025-08-21 15:49:06 +00:00
Pulse Monitor e5cd26810d docs: make support section more honest about actual costs 2025-08-21 15:48:09 +00:00
Pulse Monitor a816b92dc8 docs: fix support section - remove incorrect Proxmox licenses reference 2025-08-21 15:47:43 +00:00
Pulse Monitor c1ef0215ca docs: improve support section with context and alternative support options 2025-08-21 15:46:51 +00:00
Pulse Monitor 99e3b0ecbb feat: add disable alerts option for individual guests
- Add ability to completely disable alerts for specific guests in Custom Overrides
- Refactor override editing to use single form instead of inline editing
- Add dashboard indicators for guests with custom overrides (blue cog for custom thresholds, grey bell-slash for disabled)
- Remove complex Proxmox tag-based alert control system in favor of simpler UI controls
- Improve layout and UX for alert override management
2025-08-20 18:51:22 +00:00
Pulse Monitor 516fb06f90 docs: clarify difference between pulse-no-alerts and pulse-monitor-only
- pulse-no-alerts: completely silent, no alerts generated at all
- pulse-monitor-only: alerts show in UI for manual checking, but no notifications sent
- updated descriptions to make the distinction clearer
- improved use case examples to show when to use each
2025-08-20 14:54:38 +00:00
Pulse Monitor 5e443816a4 docs: reframe tags as direct VM control for both permanent and temporary use
removed incorrect 'temporary override' framing - users want permanent control for VMs with special needs (TrueNAS, Samba, Frigate, etc). tags are now presented as direct per-VM control that can be used for both permanent configuration and temporary needs

key insight: tags let users say 'this specific VM is special' vs custom rules for patterns
2025-08-20 14:41:34 +00:00
Pulse Monitor 6a71b2c36c refactor: clarify tags as operational overrides complementing custom rules
- updated documentation to clearly distinguish between:
  - Custom Rules: permanent alert policies configured in UI
  - Tags: temporary operational overrides applied in Proxmox
- improved log messages to indicate tags are temporary overrides
- added clear use cases and best practices for each approach
- emphasized that tags complement (not replace) custom rules
2025-08-20 14:37:00 +00:00
Pulse Monitor a04590cc37 fix: make pulse-relaxed tag use fixed thresholds instead of additive
changed pulse-relaxed behavior to override with fixed values (95% CPU/RAM, 98% disk) rather than adding to existing thresholds. this avoids confusing interactions with custom alert rules and provides more predictable behavior

also updated docs to clarify the priority order of tags vs custom rules
2025-08-20 14:16:06 +00:00
Pulse Monitor 889b8a02db docs: add alert suppression using VM/CT tags
documented the new tag-based alert suppression feature that allows controlling alert behavior per VM/container without UI changes. includes pulse-no-alerts, pulse-monitor-only, and pulse-relaxed tags with examples
2025-08-20 14:12:22 +00:00
Pulse Monitor d94d5b53e3 feat: smart network discovery for Docker environments
- Auto-detect Docker environment and scan common home/office subnets
- Scans 192.168.1.0/24, 192.168.0.0/24, 10.0.0.0/24, 192.168.88.0/24, 172.16.0.0/24
- Removes friction - nodes are discovered automatically without configuration
- DISCOVERY_SUBNET env var now optional (only for non-standard networks)
- Update documentation to reflect automatic discovery

This makes the first-run experience much smoother - users see their
Proxmox nodes immediately without having to figure out subnet configuration.
2025-08-19 15:32:26 +00:00
Pulse Monitor f2f42cb0e4 feat: auto-hash plain text credentials from environment variables
- Automatically hash plain text API tokens (SHA3-256) and passwords (bcrypt) when loaded from env vars
- Remove unnecessary PULSE_SETUP_TOKEN feature in favor of simpler env var approach
- Remove HandleInitialSetup endpoint - not needed with env var configuration
- Update authentication to always use hashed comparisons (no plain text warnings)
- Update documentation to clearly explain auto-hashing capability
- Maintain backward compatibility with pre-hashed credentials

This makes Pulse secure by default while keeping deployment simple - users can
provide plain text credentials via environment variables and Pulse automatically
hashes them for security.
2025-08-19 14:58:01 +00:00
Pulse Monitor d2821699e8 docs: clarify environment variable precedence behavior
- Add clear warnings that env vars override UI/system.json settings
- Update log messages to indicate when env vars are overriding values
- Document standard container practice: env vars have highest precedence
- Users must remove env vars to allow UI configuration to take effect

This prevents confusion when UI changes don't work due to env var overrides.
2025-08-19 08:50:36 +00:00
Pulse Monitor 62fd4be5fc fix: restore environment variable support for key settings
- Re-enable DISCOVERY_SUBNET env var for Docker network configuration
- Re-enable LOG_LEVEL env var for runtime logging control
- Re-enable CONNECTION_TIMEOUT env var for timeout configuration
- Re-enable ALLOWED_ORIGINS env var for CORS configuration
- Update documentation to reflect working env vars

These env vars were accidentally disabled but are useful for Docker deployments.
Env vars override system.json settings when present.

Addresses #214 - user requested DISCOVERY_SUBNET env var support
2025-08-19 08:44:18 +00:00
Pulse Monitor d16f2deeb2 fix: remove non-existent PBS Agent references and correct DISCOVERY_SUBNET docs
- Remove all PBS-AGENT.md references (hallucinated feature)
- Fix DISCOVERY_SUBNET env var name in Docker docs (was incorrectly PULSE_DISCOVERY_SUBNET)
- Add DISCOVERY_SUBNET examples to README for Docker users
- Update FAQ to clarify PBS push mode is not supported

Addresses #214 - user reported 404 on PBS-AGENT.md link
2025-08-19 08:30:27 +00:00
Pulse Monitor a78d527fed docs: update documentation for v4.5.0 release cycle 2025-08-18 22:28:49 +00:00
Pulse Monitor 9959378e47 fix: remove non-existent PBS push mode feature from README
The PBS push mode/agent feature was never actually implemented in v4.
This was documentation for a planned feature that doesn't exist.
Removed PBS-AGENT.md correctly as the feature isn't present in the codebase.
2025-08-18 22:04:23 +00:00
Pulse Monitor d26599e505 chore: reorganize repository structure for better maintainability
- Move development scripts to scripts/ directory (dev.sh, hot-dev.sh, build.sh, etc.)
- Move UPGRADE_NOTICE to docs/ directory
- Remove empty 2025-08-14 file
- Update all references to moved scripts in documentation
2025-08-18 21:57:40 +00:00
Pulse Monitor a064f2f006 feat: add HTTPS/TLS support via environment variables
- Add HTTPS_ENABLED, TLS_CERT_FILE, TLS_KEY_FILE environment variables
- Server automatically starts in HTTPS mode when configured
- Falls back to HTTP with warning if certs missing
- WebSocket origins automatically adjust for HTTPS
- Fully backward compatible - defaults to HTTP
- Documented in README and CONFIGURATION.md

Addresses kenrmayfield's request for HTTPS support
2025-08-18 15:29:37 +00:00
Pulse Monitor 50e06f2580 docs: clarify update process for different deployment types
- Add clear ProxmoxVE LXC update instructions (just type 'update')
- Fix incorrect FAQ about UI updates (no longer possible)
- Explain why Pulse cannot self-update for security reasons
- Make it clear that most users run in LXC containers
2025-08-17 18:57:20 +00:00
Pulse Monitor 9f6d30ed62 docs: add Updating section with new install script options
- Document --rc, --stable, and --version flags
- Show how to update to RC releases
- Include both script and Docker update methods
- Make it clear how users can test pre-releases
2025-08-17 11:15:57 +00:00
Pulse Monitor ad84deb9d8 docs: update documentation for mandatory authentication in v4.4.0
- Remove outdated v3 to v4 migration guide
- Update README with mandatory security setup steps
- Clarify that authentication is now required, not optional
- Update Docker, Security, and Troubleshooting docs
- Remove references to optional authentication
2025-08-17 10:21:36 +00:00
Pulse Monitor fbbbb3b867 fix: comprehensive security improvements and UI fixes
- Remove overly restrictive password complexity requirements (now only 8+ chars)
- Fix Change Password section not appearing in Settings > Security
- Fix logout sometimes showing setup page instead of login page
- Remove misleading desktop notifications option from first-run setup
- Improve rate limiting on authentication endpoints
- Fix sensitive data appearing in logs (passwords, tokens)
- Enhance file permissions for sensitive files (0600)
- Fix WebSocket origin validation defaults
- Add password complexity validation for setup
- Improve CSRF token handling after server restarts
- Fix security status API using wrong fetch client
- Add logout race condition prevention

Security improvements:
- No credential leakage in logs
- Proper bcrypt password hashing
- Session management enhancements
- Rate limiting on all auth endpoints
- Secure file permissions on sensitive data
2025-08-16 21:10:24 +00:00
Pulse Monitor 843e723216 docs: update Docker discovery configuration
Removed outdated DISCOVERY_SUBNET environment variable references and documented the correct way to configure discovery subnet in Docker containers via system.json. Docker containers detect their internal network by default, so manual configuration is needed for LAN discovery.
2025-08-16 19:07:07 +00:00
Pulse Monitor b316510a2b fix: resolve WebSocket metric updates and improve polling efficiency
- Fix alternating zero I/O metrics by implementing rate caching for stale data from Proxmox
- Hardcode polling interval to 10 seconds (matching Proxmox cluster/resources update cycle)
- Remove polling interval settings from UI (no longer user-configurable)
- Implement efficient VM/container polling using single cluster/resources API call
- Remove 'Remove Password' feature (auth is now mandatory)
- Fix CSRF validation for Basic Auth (exempt from CSRF checks)
- Fix Generate API Token modal and authentication
- Remove redundant 'Active' status from Authentication section
- Remove Connection Timeout setting from frontend (backend-only)
- Clean up frontend console logging (reduce verbosity)
- Remove PBS polling interval setting (fixed at 10s)
- Add frontend rebuild detection to backend-watch script
- Improve first-run setup flow and error handling
2025-08-16 12:12:10 +00:00
Pulse Monitor b947eb8a98 fix: improve security setup and pending restart detection
- Add pending restart detection when .env exists but not loaded
- Update frontend to show pending state instead of re-showing setup
- Fix QuickSecuritySetup to refresh security status after configuration
- Remove auto-restart attempts from security setup
- Show deployment-appropriate restart instructions
- Update documentation to reflect new update mechanism

Related to security setup issues after removing sudo/auto-restart capabilities
2025-08-15 09:35:40 +00:00
Pulse Monitor c6690d5392 docs: comprehensive documentation update for v4.3.8
- Add critical docker-compose bcrypt escaping documentation
- Create comprehensive TROUBLESHOOTING.md guide
- Create dedicated DOCKER.md deployment guide
- Update CONFIGURATION.md with service name variations
- Document that .env file is not created when using env vars
- Add warnings about dollar sign escaping in docker-compose.yml

These docs address the main confusion points from recent issues,
especially the docker-compose bcrypt hash problem affecting many users.
2025-08-14 22:23:57 +00:00
Pulse Monitor fa5bd4da0e fix: allow quick-setup endpoint to check if already configured
- ProxmoxVE script can now check if auth is already set without credentials
- Quick-setup endpoint is now public but handler checks if setup should be skipped
- Prevents duplicate auth configuration attempts
- Critical for automated setup scripts
2025-08-14 20:59:25 +00:00
Pulse Monitor 055ef1e1ad docs: fix security documentation accuracy
- clarified .env file usage for Docker (it's acceptable for Docker volumes)
- emphasized need for quotes around bcrypt hashes to prevent shell expansion
- removed incorrect SHA3-256 'cost factor' reference (only bcrypt has cost factor)
- added notes about proper quoting in Docker examples
2025-08-14 13:42:00 +00:00
Pulse Monitor b755eaf3fe docs: update export/import documentation
- Clarify that session auth (password login) is sufficient for export/import
- Document that guest metadata and custom console URLs are included
- Update FAQ with clearer backup instructions
- Add UI-first approach to README backup section
2025-08-14 10:04:15 +00:00