Update docker.io/rcourtman/pulse Docker tag to v4.31.0

Update docker.io/rcourtman/pulse Docker tag to v4.31.0
Photo by Joshua Chehov / Unsplash

No problems upgrading the Docker container with a Docker compose yaml file by means of Watchtower DevOps resp. GitOps with dependency update facilitated by Mend's Renovate Bot.
Including updating all docker and host agents manually.

This MR contains the following updates:

Package Update Change
docker.io/rcourtman/pulse minor 4.27.1 -> 4.31.0

Release Notes

rcourtman/Pulse (docker.io/rcourtman/pulse)

v4.31.0: Pulse v4.31.0

Compare Source

βœ… Release Asset Validation (Post-Publish): PASSED

Assets were revalidated after publication due to a release edit.

Status: Live release assets re-validated βœ…
Validated: 2025-11-14 00:19:26 UTC
Workflow: Validate Release Assets #​32

Validation Summary
  • All required assets present βœ“
  • Checksums verified βœ“
  • Version strings correct βœ“
  • Binary architectures validated βœ“
What's Changed
New Features
  • Added HTTP mode to pulse-sensor-proxy, letting proxies register via the API and receive temperature polling over HTTPS for multi-instance deployments (#​571).
  • Sensor-proxy installer now auto-populates allowed_nodes so temperature monitoring works immediately after installation, even on clustered Proxmox deployments.
Bug Fixes
  • Restored temperature monitoring for standalone Proxmox, clustered nodes, and LXC environments by fixing detection logic and SSH fallbacks (#​571).
  • Added context deadlines so local temperature collectors cannot hang the proxy when a node stops responding (#​571).
  • Hardened the security fallback so the proxy never drops into a permissive mode; localhost-only access is enforced during degraded scenarios and Codex security review findings are addressed.
  • Improved Windows host agent installer logging and diagnostics for cleaner upgrades (related to #​709).
Improvements
  • Raised startup rate limits so Pulse can handle large bursts of telemetry connections without throttling.
  • Expanded sensor-proxy diagnostics and tests to surface registration issues earlier.
  • Cleaned up documentation (removed the obsolete installer-v2 rollout plan and CONTRIBUTING-SCRIPTS notes).
Breaking Changes

None.

Installation

Quick Install (systemd / LXC / Proxmox VE):

curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash

Docker:

docker pull rcourtman/pulse:v4.31.0
docker stop pulse && docker rm pulse || true
docker run -d --name pulse \
  --restart unless-stopped \
  -p 7655:7655 -p 7656:7656 \
  -v /opt/pulse/data:/data \
  rcourtman/pulse:v4.31.0

Manual Binary (amd64 example):

curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.31.0/pulse-v4.31.0-linux-amd64.tar.gz
sudo systemctl stop pulse
sudo tar -xzf pulse-v4.31.0-linux-amd64.tar.gz -C /usr/local/bin pulse
sudo systemctl start pulse

Helm:

helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \
  --version 4.31.0 \
  --namespace pulse \
  --create-namespace
Downloads
  • Universal tarball with auto-detected architecture: pulse-v4.31.0.tar.gz
  • Architecture-specific server builds: pulse-v4.31.0-linux-{amd64,arm64,armv7,armv6,386}.tar.gz
  • Docker/VM installer script: install.sh with companion SHA256 files
  • Host agent packages for macOS (amd64/arm64) and Windows (386/amd64/arm64)
  • Helm chart: pulse-4.31.0.tgz
  • SHA256 manifests: checksums.txt plus per-file .sha256
Notes
  • Re-run the sensor-proxy installer to switch existing deployments to HTTP mode; the installer now auto-registers allowed nodes and enforces localhost-only fallbacks.
  • Docker images rcourtman/pulse:v4.31.0 and rcourtman/pulse-docker-agent:v4.31.0 are already pushed for amd64 and arm64.
  • If you manage Windows hosts, expect clearer installer logs when upgrading to this release.

v4.31.0: Pulse v4.31.0

Compare Source

βœ… Release Asset Validation (Post-Publish): PASSED

Assets were revalidated after publication due to a release edit.

Status: Live release assets re-validated βœ…
Validated: 2025-11-14 00:19:26 UTC
Workflow: Validate Release Assets #​32

Validation Summary
  • All required assets present βœ“
  • Checksums verified βœ“
  • Version strings correct βœ“
  • Binary architectures validated βœ“
What's Changed
New Features
  • Added HTTP mode to pulse-sensor-proxy, letting proxies register via the API and receive temperature polling over HTTPS for multi-instance deployments (#​571).
  • Sensor-proxy installer now auto-populates allowed_nodes so temperature monitoring works immediately after installation, even on clustered Proxmox deployments.
Bug Fixes
  • Restored temperature monitoring for standalone Proxmox, clustered nodes, and LXC environments by fixing detection logic and SSH fallbacks (#​571).
  • Added context deadlines so local temperature collectors cannot hang the proxy when a node stops responding (#​571).
  • Hardened the security fallback so the proxy never drops into a permissive mode; localhost-only access is enforced during degraded scenarios and Codex security review findings are addressed.
  • Improved Windows host agent installer logging and diagnostics for cleaner upgrades (related to #​709).
Improvements
  • Raised startup rate limits so Pulse can handle large bursts of telemetry connections without throttling.
  • Expanded sensor-proxy diagnostics and tests to surface registration issues earlier.
  • Cleaned up documentation (removed the obsolete installer-v2 rollout plan and CONTRIBUTING-SCRIPTS notes).
Breaking Changes

None.

Installation

Quick Install (systemd / LXC / Proxmox VE):

curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash

Docker:

docker pull rcourtman/pulse:v4.31.0
docker stop pulse && docker rm pulse || true
docker run -d --name pulse \
  --restart unless-stopped \
  -p 7655:7655 -p 7656:7656 \
  -v /opt/pulse/data:/data \
  rcourtman/pulse:v4.31.0

Manual Binary (amd64 example):

curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.31.0/pulse-v4.31.0-linux-amd64.tar.gz
sudo systemctl stop pulse
sudo tar -xzf pulse-v4.31.0-linux-amd64.tar.gz -C /usr/local/bin pulse
sudo systemctl start pulse

Helm:

helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \
  --version 4.31.0 \
  --namespace pulse \
  --create-namespace
Downloads
  • Universal tarball with auto-detected architecture: pulse-v4.31.0.tar.gz
  • Architecture-specific server builds: pulse-v4.31.0-linux-{amd64,arm64,armv7,armv6,386}.tar.gz
  • Docker/VM installer script: install.sh with companion SHA256 files
  • Host agent packages for macOS (amd64/arm64) and Windows (386/amd64/arm64)
  • Helm chart: pulse-4.31.0.tgz
  • SHA256 manifests: checksums.txt plus per-file .sha256
Notes
  • Re-run the sensor-proxy installer to switch existing deployments to HTTP mode; the installer now auto-registers allowed nodes and enforces localhost-only fallbacks.
  • Docker images rcourtman/pulse:v4.31.0 and rcourtman/pulse-docker-agent:v4.31.0 are already pushed for amd64 and arm64.
  • If you manage Windows hosts, expect clearer installer logs when upgrading to this release.

v4.30.0

Compare Source

v4.29.5: Pulse v4.29.5

Compare Source

βœ… Release Asset Validation (Post-Publish): PASSED

Assets were revalidated after publication due to a release edit.

Status: Live release assets re-validated βœ…
Validated: 2025-11-12 17:34:40 UTC
Workflow: Validate Release Assets #​30

Validation Summary
  • All required assets present βœ“
  • Checksums verified βœ“
  • Version strings correct βœ“
  • Binary architectures validated βœ“

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

What's Changed
New Features

Host Agent Docker Support: Added Snap Docker support to the host-agent installer for improved container monitoring on systems using Snap-packaged Docker.

Kubernetes Helm Chart: Added production-grade Helm chart with GitHub Pages repository distribution and OCI annotations for improved discoverability and package management.

Bug Fixes

Security - Path Traversal: Fixed a path traversal vulnerability in the host-agent download endpoint (#​669).

Temperature Monitoring: Fixed temperature monitoring on standalone Proxmox nodes (#​571).

Guest Agent Compatibility: Fixed guest agent OS info calls that were causing OpenBSD VM crashes (#​692).

Host Agent Downloads: Fixed Windows and macOS host agent downloads for bare metal installs (#​684).

Disk Metrics: Filtered read-only filesystems from host agent disk metrics (#​690).

Update Checker: Fixed update checker to skip draft releases, preventing malformed download URLs.

Notification Manager: Fixed deadlock in notification manager Stop() function.

CSRF Token Validation: Fixed CSRF token validation failure in Settings diagnostics endpoints (#​600).

Sensor Proxy in LXC: Fixed pulse-sensor-proxy pvecm errors when running in LXC containers (#​600).

SELinux Compatibility: Fixed SELinux compatibility in host agent installer.

Release Asset Checksums: Fixed checksum file generation for backward compatibility with both old and new release formats.

Frontend Authentication: Fixed router to allow frontend pages without authentication for diagnostic purposes.

Improvements

Diagnostic Capabilities: Enhanced diagnostics to capture DOM structure, JavaScript errors, and browser API access; added comprehensive diagnostic test for login issues.

Integration Tests: Improved integration test suite with pre-built Docker images, health check waits, container logging, and port mapping verification.

Update Service: Refactored update service to eliminate polling and race conditions, with improved consistency handling.

Demo Server Updates: Added manual trigger support and improved asset checking with redirect following.

Release Automation: Added release workflow validation gates and improved asset management by reducing duplicate downloads.

Docker Images: Added OCI labels to Docker images and --version flag to docker-agent for better version tracking.

Breaking Changes

None

Installation

Quick Install (systemd / LXC / Proxmox VE):

curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash

Docker:

docker pull rcourtman/pulse:v4.29.5
docker stop pulse && docker rm pulse
docker run -d --name pulse \
  --restart unless-stopped \
  -p 7655:7655 -p 7656:7656 \
  -v /opt/pulse/data:/data \
  rcourtman/pulse:v4.29.5

Manual Binary (amd64 example):

curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.29.5/pulse-v4.29.5-linux-amd64.tar.gz
sudo systemctl stop pulse
sudo tar -xzf pulse-v4.29.5-linux-amd64.tar.gz -C /usr/local/bin pulse
sudo systemctl start pulse

Helm:

helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \
  --version 4.29.5 \
  --namespace pulse \
  --create-namespace
Downloads
  • Universal tarball (auto-detects architecture): pulse-v4.29.5.tar.gz
  • Architecture-specific: amd64, arm64, armv7, armv6, 386
  • Host agent packages: macOS (amd64/arm64), Windows (amd64/arm64/386), Linux (amd64/arm64/armv7/armv6/386)
  • Sensor proxy: Linux (amd64/arm64/armv7/armv6/386)
  • Helm chart: pulse-4.29.5.tgz
  • SHA256 checksums: checksums.txt
Notes
  • Security Update: This release includes a critical security fix for a path traversal vulnerability in the host-agent download endpoint. Update recommended.
  • Improved Compatibility: Fixed issues affecting OpenBSD VMs, standalone Proxmox nodes, and LXC containers for broader environment support.
  • Helm Chart Available: Production-ready Kubernetes deployment now available via GitHub Pages Helm repository for easier cluster installations.
  • Enhanced Diagnostics: Improved troubleshooting capabilities with better diagnostic tools to help identify and resolve issues.

v4.29.5: Pulse v4.29.5

βœ… Release Asset Validation (Post-Publish): PASSED

Assets were revalidated after publication due to a release edit.

Status: Live release assets re-validated βœ…
Validated: 2025-11-12 17:34:40 UTC
Workflow: Validate Release Assets #​30

Validation Summary
  • All required assets present βœ“
  • Checksums verified βœ“
  • Version strings correct βœ“
  • Binary architectures validated βœ“

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

What's Changed
New Features

Host Agent Docker Support: Added Snap Docker support to the host-agent installer for improved container monitoring on systems using Snap-packaged Docker.

Kubernetes Helm Chart: Added production-grade Helm chart with GitHub Pages repository distribution and OCI annotations for improved discoverability and package management.

Bug Fixes

Security - Path Traversal: Fixed a path traversal vulnerability in the host-agent download endpoint (#​669).

Temperature Monitoring: Fixed temperature monitoring on standalone Proxmox nodes (#​571).

Guest Agent Compatibility: Fixed guest agent OS info calls that were causing OpenBSD VM crashes (#​692).

Host Agent Downloads: Fixed Windows and macOS host agent downloads for bare metal installs (#​684).

Disk Metrics: Filtered read-only filesystems from host agent disk metrics (#​690).

Update Checker: Fixed update checker to skip draft releases, preventing malformed download URLs.

Notification Manager: Fixed deadlock in notification manager Stop() function.

CSRF Token Validation: Fixed CSRF token validation failure in Settings diagnostics endpoints (#​600).

Sensor Proxy in LXC: Fixed pulse-sensor-proxy pvecm errors when running in LXC containers (#​600).

SELinux Compatibility: Fixed SELinux compatibility in host agent installer.

Release Asset Checksums: Fixed checksum file generation for backward compatibility with both old and new release formats.

Frontend Authentication: Fixed router to allow frontend pages without authentication for diagnostic purposes.

Improvements

Diagnostic Capabilities: Enhanced diagnostics to capture DOM structure, JavaScript errors, and browser API access; added comprehensive diagnostic test for login issues.

Integration Tests: Improved integration test suite with pre-built Docker images, health check waits, container logging, and port mapping verification.

Update Service: Refactored update service to eliminate polling and race conditions, with improved consistency handling.

Demo Server Updates: Added manual trigger support and improved asset checking with redirect following.

Release Automation: Added release workflow validation gates and improved asset management by reducing duplicate downloads.

Docker Images: Added OCI labels to Docker images and --version flag to docker-agent for better version tracking.

Breaking Changes

None

Installation

Quick Install (systemd / LXC / Proxmox VE):

curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash

Docker:

docker pull rcourtman/pulse:v4.29.5
docker stop pulse && docker rm pulse
docker run -d --name pulse \
  --restart unless-stopped \
  -p 7655:7655 -p 7656:7656 \
  -v /opt/pulse/data:/data \
  rcourtman/pulse:v4.29.5

Manual Binary (amd64 example):

curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.29.5/pulse-v4.29.5-linux-amd64.tar.gz
sudo systemctl stop pulse
sudo tar -xzf pulse-v4.29.5-linux-amd64.tar.gz -C /usr/local/bin pulse
sudo systemctl start pulse

Helm:

helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \
  --version 4.29.5 \
  --namespace pulse \
  --create-namespace
Downloads
  • Universal tarball (auto-detects architecture): pulse-v4.29.5.tar.gz
  • Architecture-specific: amd64, arm64, armv7, armv6, 386
  • Host agent packages: macOS (amd64/arm64), Windows (amd64/arm64/386), Linux (amd64/arm64/armv7/armv6/386)
  • Sensor proxy: Linux (amd64/arm64/armv7/armv6/386)
  • Helm chart: pulse-4.29.5.tgz
  • SHA256 checksums: checksums.txt
Notes
  • Security Update: This release includes a critical security fix for a path traversal vulnerability in the host-agent download endpoint. Update recommended.
  • Improved Compatibility: Fixed issues affecting OpenBSD VMs, standalone Proxmox nodes, and LXC containers for broader environment support.
  • Helm Chart Available: Production-ready Kubernetes deployment now available via GitHub Pages Helm repository for easier cluster installations.
  • Enhanced Diagnostics: Improved troubleshooting capabilities with better diagnostic tools to help identify and resolve issues.

v4.28.0: Pulse v4.28.0

Compare Source

What's Changed

New Features
  • Sparkline visualization mode: Added new sparklines view for metrics, providing compact time-series graphs alongside traditional table views for CPU, memory, disk, and network metrics (#​886368ec4)
  • mdadm RAID monitoring: Host agents now detect and monitor mdadm RAID arrays, reporting array status, device health, and degraded states (#bb7ca93c1)
  • Webhook private IP allowlist: Added configurable allowlist for webhook notifications to private IP addresses, preventing SSRF attacks while allowing legitimate internal webhooks (#​673)
  • Expanded architecture support: Added linux-386, linux-armv6, and windows-386 builds for broader device compatibility, including older systems and 32-bit Windows (#​674)
Bug Fixes
  • API token persistence: Fixed dark mode toggle wiping API tokens; made api_tokens.json the authoritative source for token storage (#​685)
  • Offline alert thresholds: Fixed offline alert state not displaying correctly in thresholds UI (#​683)
  • Bootstrap token paths: Fixed bootstrap-token command to use correct environment variable and default paths in Docker deployments (#​680)
  • Temperature monitoring: Fixed persistent temperature monitoring issues for standalone Proxmox nodes, ensuring sensors remain active across restarts (#​571)
  • Docker host display names: Fixed custom display names not showing in main Docker tab RESOURCE column (#​662)
  • Upgrade path authentication: Fixed upgrade path when DISABLE_AUTH detected but no credentials exist, preventing setup loop (#​678)
  • LXC diagnostics: Fixed diagnostics incorrectly warning about /run mount in Docker containers (#​600)
  • Sensor proxy LXC: Fixed pulse-sensor-proxy configuration not being applied in LXC containers (#​600)
  • Temperature proxy installation: Fixed unbound variable error in temperature proxy installation script (#​438d3b6b7)
Improvements
  • Bootstrap token UI: Added Proxmox LXC-specific instructions to bootstrap token UI, clarifying setup for container deployments
  • Update error visibility: Update errors now surface to the UI instead of failing silently, providing better feedback when auto-updates encounter issues (#​671)
  • Table and sparkline layout: Improved table column widths and sparkline visibility for better data density and readability
  • Documentation: Added webhook allowlist configuration guide and sponsorship information
Breaking Changes

None

Installation

Quick Install (systemd / LXC / Proxmox VE):

curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash

Docker:

docker pull rcourtman/pulse:v4.28.0
docker stop pulse && docker rm pulse
docker run -d --name pulse \
  --restart unless-stopped \
  -p 7655:7655 -p 7656:7656 \
  -v /opt/pulse/data:/data \
  rcourtman/pulse:v4.28.0

Manual Binary (amd64 example):

curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.28.0/pulse-v4.28.0-linux-amd64.tar.gz
sudo systemctl stop pulse
sudo tar -xzf pulse-v4.28.0-linux-amd64.tar.gz -C /usr/local/bin pulse
sudo systemctl start pulse

Helm:

helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \
  --version 4.28.0 \
  --namespace pulse \
  --create-namespace

Downloads

  • Universal tarball (auto-detects architecture): pulse-v4.28.0.tar.gz
  • Architecture-specific: amd64, arm64, armv7, armv6, 386
  • Host agent packages: macOS (amd64/arm64), Windows (amd64/arm64/386), Linux (amd64/arm64/armv7/armv6/386)
  • Sensor proxy: Linux (amd64/arm64/armv7/armv6/386)
  • Helm chart: pulse-4.28.0.tgz
  • SHA256 checksums: checksums.txt

Notes

  • Sparklines: Toggle between table and sparklines view using the new view switcher in the metrics interface
  • RAID monitoring: mdadm arrays are automatically detected on hosts running pulse-host-agent
  • Webhook security: Review the documentation for configuring the webhook private IP allowlist if you need to send notifications to internal services
  • Architecture expansion: Older devices can now use the 386 and armv6 builds for better compatibility

v4.28.0: Pulse v4.28.0

What's Changed
New Features
  • Sparkline visualization mode: Added new sparklines view for metrics, providing compact time-series graphs alongside traditional table views for CPU, memory, disk, and network metrics (#​886368ec4)
  • mdadm RAID monitoring: Host agents now detect and monitor mdadm RAID arrays, reporting array status, device health, and degraded states (#bb7ca93c1)
  • Webhook private IP allowlist: Added configurable allowlist for webhook notifications to private IP addresses, preventing SSRF attacks while allowing legitimate internal webhooks (#​673)
  • Expanded architecture support: Added linux-386, linux-armv6, and windows-386 builds for broader device compatibility, including older systems and 32-bit Windows (#​674)
Bug Fixes
  • API token persistence: Fixed dark mode toggle wiping API tokens; made api_tokens.json the authoritative source for token storage (#​685)
  • Offline alert thresholds: Fixed offline alert state not displaying correctly in thresholds UI (#​683)
  • Bootstrap token paths: Fixed bootstrap-token command to use correct environment variable and default paths in Docker deployments (#​680)
  • Temperature monitoring: Fixed persistent temperature monitoring issues for standalone Proxmox nodes, ensuring sensors remain active across restarts (#​571)
  • Docker host display names: Fixed custom display names not showing in main Docker tab RESOURCE column (#​662)
  • Upgrade path authentication: Fixed upgrade path when DISABLE_AUTH detected but no credentials exist, preventing setup loop (#​678)
  • LXC diagnostics: Fixed diagnostics incorrectly warning about /run mount in Docker containers (#​600)
  • Sensor proxy LXC: Fixed pulse-sensor-proxy configuration not being applied in LXC containers (#​600)
  • Temperature proxy installation: Fixed unbound variable error in temperature proxy installation script (#​438d3b6b7)
Improvements
  • Bootstrap token UI: Added Proxmox LXC-specific instructions to bootstrap token UI, clarifying setup for container deployments
  • Update error visibility: Update errors now surface to the UI instead of failing silently, providing better feedback when auto-updates encounter issues (#​671)
  • Table and sparkline layout: Improved table column widths and sparkline visibility for better data density and readability
  • Documentation: Added webhook allowlist configuration guide and sponsorship information
Breaking Changes

None

Installation

Quick Install (systemd / LXC / Proxmox VE):

curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/install.sh | bash

Docker:

docker pull rcourtman/pulse:v4.28.0
docker stop pulse && docker rm pulse
docker run -d --name pulse \
  --restart unless-stopped \
  -p 7655:7655 -p 7656:7656 \
  -v /opt/pulse/data:/data \
  rcourtman/pulse:v4.28.0

Manual Binary (amd64 example):

curl -LO https://github.com/rcourtman/Pulse/releases/download/v4.28.0/pulse-v4.28.0-linux-amd64.tar.gz
sudo systemctl stop pulse
sudo tar -xzf pulse-v4.28.0-linux-amd64.tar.gz -C /usr/local/bin pulse
sudo systemctl start pulse

Helm:

helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \
  --version 4.28.0 \
  --namespace pulse \
  --create-namespace
Downloads
  • Universal tarball (auto-detects architecture): pulse-v4.28.0.tar.gz
  • Architecture-specific: amd64, arm64, armv7, armv6, 386
  • Host agent packages: macOS (amd64/arm64), Windows (amd64/arm64/386), Linux (amd64/arm64/armv7/armv6/386)
  • Sensor proxy: Linux (amd64/arm64/armv7/armv6/386)
  • Helm chart: pulse-4.28.0.tgz
  • SHA256 checksums: checksums.txt
Notes
  • Sparklines: Toggle between table and sparklines view using the new view switcher in the metrics interface
  • RAID monitoring: mdadm arrays are automatically detected on hosts running pulse-host-agent
  • Webhook security: Review the documentation for configuring the webhook private IP allowlist if you need to send notifications to internal services
  • Architecture expansion: Older devices can now use the 386 and armv6 builds for better compatibility

Read more

Me on Mastodon - This link is here for verification purposes.