Listed all env vars with descriptions and defaults, commented out for easy enabling.
Users can now discover and configure all options without checking separate docs.
- Move sponsor badges to dedicated 'Support This Project' section
- Remove v3 migration warning (no longer needed)
- Clean up badge organization
- Make tagline more prominent
- Added detailed reverse proxy guide for nginx, Caddy, Apache, Traefik, HAProxy, and Cloudflare Tunnel
- Emphasized WebSocket requirement for v4
- Added testing instructions and troubleshooting tips
- Updated README and CONFIGURATION docs to reference the new guide
- Addresses user feedback from issue #244 about WebSocket requirement
- Updated README to show env vars instead of .env editing
- Updated FAQ with correct port change instructions
- Updated .env.example header to clarify it's for deployment overrides
- Made it clear UI is primary configuration method
- Environment variables are for deployment-time overrides only
- Fix Export/Import API token authentication (wasn't sending X-API-Token header)
- Add client-side passphrase validation (12+ chars with visual feedback)
- Fix settings persistence for AllowedOrigins field
- Fix hardcoded port display in diagnostics (now shows actual port)
- Add .env file support for non-sensitive configuration (ports, logging, etc)
- Keep sensitive data (API tokens, passwords) using secure methods (systemd env vars)
- Update documentation with configuration guide and latest features
- Document auto-discovery, cluster detection, and export/import features
- README reduced from 256 to 188 lines
- FAQ reduced from 133 to 66 lines
- PBS-AGENT simplified to essentials only
- Removed marketing language, obvious advice, redundant sections
- Focused on practical information users actually need
- Single directory for all data (config + runtime)
- Docker uses /data (via PULSE_DATA_DIR env var)
- Manual installs use /etc/pulse (default)
- Removed unnecessary /var/lib/pulse directory creation
- Updated docs to clarify data storage locations
This eliminates confusion about multiple directories and follows
the principle of keeping things simple.
- Added secure config export/import with passphrase-based encryption
- CLI commands: pulse config export/import with AES-256-GCM encryption
- Auto-import on Docker startup via PULSE_INIT_CONFIG_FILE/DATA env vars
- API endpoints /api/config/export and /api/config/import (require API_TOKEN)
- Configs remain encrypted throughout export/import process
- Perfect for GitOps, CI/CD, and infrastructure as code workflows
This allows users to configure Pulse once via UI, export the encrypted
config, and deploy it automatically to multiple instances without
manual reconfiguration.
Addresses #249 - Config management for automation enthusiasts
ConfigPersistence was initialized with empty string instead of cfg.DataPath,
causing webhooks to save to /etc/pulse instead of PULSE_DATA_DIR.
This affected Docker deployments where /data is the persistent volume.
Fixes#249
- Note that PR for Proxmox helper script has been submitted
- Create response templates for all open issues
- Update README to reflect fix is in progress
- API endpoints are an implementation detail not needed by most users
- Keeps README focused on installation and usage
- Developers can find API info in the code or create separate API docs if needed
- Add ARMv7 architecture support to Docker documentation
- Update Docker run commands to use single volume mount
- Add Docker tag information and architecture details
- List all supported architectures (AMD64, ARM64, ARMv7)
- Add comprehensive install.sh script for LXC and manual installations
- Add systemd service file (pulse.service)
- Add build-release.sh for creating release archives
- Support for multiple architectures (amd64, arm64, armv7)
- Automatic dependency installation (Go, Node.js)
- User creation and permission management
- Update/reinstall/remove functionality
- Matches the installation experience of the original Pulse
- Docker build tested and working
- Fixed port configuration (UI and API both on port 3000)
- Updated docker-compose.yml to map 7655:3000
- Updated Dockerfile health check to use correct port
- Removed obsolete version field from docker-compose.yml
- Updated README to reflect correct port mappings
- Application successfully tested in Docker container
- Completely rewrite README.md configuration section
- Remove all references to manual pulse.yml editing
- Emphasize UI-only configuration like Radarr/Sonarr
- Simplify Docker examples
- Rewrite SECURITY.md from scratch
- Explain automatic encryption system
- Document how AES-256-GCM encryption works
- Add security architecture diagram
- Remove outdated manual config references
- Move CONFIGURATION.md to dev-docs (outdated)
- Documentation now correctly reflects that:
- All configuration is done through the web UI
- Credentials are automatically encrypted
- No manual file editing is needed or supported
- Complete rewrite of README.md in the style of original Pulse
- Add comprehensive user-facing documentation:
- FAQ.md with common questions and troubleshooting
- PBS-AGENT.md for push mode monitoring
- SCREENSHOTS.md placeholder for visual guide
- Update SECURITY.md intro to match new style
- Move internal dev docs to separate dev-docs folder
- Documentation now properly reflects Go/SolidJS architecture
- Remove all unencrypted configuration fallback logic
- Fix PBS user realm handling with automatic @pbs appending
- Enable test connection for existing nodes using stored credentials
- Delete legacy migration code and unified config system
- Fix redundant "No guests found" message when no PVE nodes configured
- Remove old example yml and migration binary
- Ensure all credentials stored only in encrypted .enc files
- Fixed alert clearing logic to work even when alerts are acknowledged
- Added immediate WebSocket state broadcast after alert resolution
- Fixed frontend activeAlerts store updates to maintain SolidJS reactivity
- Added logging for alert resolution events
The alert system now properly:
- Creates alerts when thresholds are exceeded
- Clears alerts automatically when values drop below clear threshold
- Updates frontend in real-time without requiring page refresh