Update docker.io/rcourtman/pulse Docker tag to v5.1.17

Update docker.io/rcourtman/pulse Docker tag to v5.1.17
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 patch 5.1.14 β†’ 5.1.17

Release Notes

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

v5.1.17: Pulse v5.1.17

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: 2026-03-02 20:18:19 UTC
Workflow: Pulse Release Pipeline #​169

Validation Summary
  • All required assets present βœ“
  • Checksums verified βœ“
  • Version strings correct βœ“
  • Binary architectures validated βœ“
Bug Fixes
  • fix(api): store TLS fingerprint during auto-registration (#​1303) β€” The auto-register endpoint captured TLS fingerprints but never persisted them to the node config. Nodes with self-signed or internal CA certificates registered via the agent would fail with x509: certificate signed by unknown authority or cannot validate certificate ... because it doesn't contain any IP SANs on subsequent polls. Fingerprints are now stored in all add/update paths, with a guard to prevent erasing valid fingerprints when capture fails.

  • fix(memory): skip meminfo-derived when balloon lacks cache metrics (#​1302) β€” Linux VMs showed wildly inflated RAM usage (e.g., 93% instead of 21%) when the balloon driver reported Free memory but not Buffers or Cached. The meminfo-derived fallback computed memAvailable = Free + 0 + 0, counting all reclaimable page cache as used. Now requires at least one cache metric before using that path, falling through to more accurate RRD or guest-agent sources.

  • fix(api): return 404 from undismiss endpoint for invalid finding IDs (#​1300) β€” The undismiss handler always returned success even when the finding ID didn't exist. Now returns HTTP 404 when the finding is not found in either the patrol or unified store.

Improvements
  • feat(ui): add host removal action to hosts table β€” Hosts can now be removed directly from the hosts table UI.

  • fix(installer): remove config backup that filled disk on upgrades β€” The installer's config backup step could fill disk space on repeated upgrades.

Installation

Docker (recommended):

docker pull rcourtman/pulse:5.1.17

Docker Compose:
Update your docker-compose.yml to use rcourtman/pulse:5.1.17

See the Installation Guide for complete setup instructions.

v5.1.16: Pulse v5.1.16

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: 2026-03-01 23:15:41 UTC
Workflow: Pulse Release Pipeline #​168

Validation Summary
  • All required assets present βœ“
  • Checksums verified βœ“
  • Version strings correct βœ“
  • Binary architectures validated βœ“
Bug Fixes
  • fix(ai): record patrol token usage in cost store for budget enforcement β€” Patrol runs, evaluation passes, and QuickAnalysis calls were consuming tokens without recording them in the cost store, making the cost_budget_usd_30d budget setting ineffective. Token usage is now tracked on all code paths including partial runs that error out.

  • fix(proxmox): make monitor reload synchronous after auto-registration (#​1303) β€” Auto-registered Proxmox nodes appeared in Settings but not on the main Proxmox tab because the monitor reload ran asynchronously and could fail silently. Now matches the manual add path.

  • fix(ai): route OpenRouter slash-delimited models to OpenAI provider (#​1296) β€” Models like google/gemini-2.5-flash or google/gemini-2.0-flash:free failed because the provider routing only handled provider:model colon format. Slash-delimited OpenRouter model IDs are now correctly routed to the OpenAI-compatible provider.

  • fix(ui): show PULSE_PUBLIC_URL value in settings and expand node tables to full width (#​1305, #​1304) β€” The settings API wasn't exposing the public URL from runtime config, and PVE/PBS/PMG node tables were missing the w-full CSS class.

  • fix(patrol): clarify wearout semantics so AI knows 100% = healthy (#​1300) β€” Renamed the wearout JSON field to ssd_life_remaining_pct and updated patrol context so 100% is correctly interpreted as fully healthy.

  • fix(installer): avoid "No space left on device" on QNAP β€” Write agent binary to persistent storage instead of tmpfs on QNAP QTS/QuTS hero systems.

  • fix(docs): audit and fix agent docs vs install script discrepancies (#​1299) β€” Corrected --enable-*=false flags to --disable-* and other doc/script mismatches.

New Features
  • feat(api): add POST /api/ai/patrol/undismiss endpoint (#​1300) β€” Users can now revert dismissed or suppressed findings. Previously the Undismiss() method existed internally but was never exposed via the API.
Installation

Docker (recommended):

docker pull rcourtman/pulse:5.1.16

Docker Compose:
Update your docker-compose.yml to use rcourtman/pulse:5.1.16

See the Installation Guide for complete setup instructions.

v5.1.15: Pulse v5.1.15

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: 2026-02-27 15:20:09 UTC
Workflow: Pulse Release Pipeline #​167

Validation Summary
  • All required assets present βœ“
  • Checksums verified βœ“
  • Version strings correct βœ“
  • Binary architectures validated βœ“
What's Changed
Bug Fixes
  • Orphaned backup false positives β€” Backup alerts no longer fire for PVE instances that haven't been polled yet. Detection is now scoped per-instance rather than globally, preventing false positives during staggered polling. (#​1286)
  • SSH authorized_keys symlink destroyed on Proxmox β€” The sensor setup script now resolves symlinks before editing authorized_keys, preserving the Proxmox /etc/pve/priv/ symlink. Also fixes broken quoting in the SSH key entry. (#​1297)
  • Orphaned backup alerts during startup β€” Backup alerts no longer race against initial inventory polling on service start. (#​1286)
  • Escalation notifications sent to all channels β€” Escalation notifications are now routed only to the channels selected in the notification rule, not broadcast to all configured channels. (#​1259)
  • OpenRouter model false warnings β€” Gemini and other models used via OpenRouter no longer trigger incorrect "unknown provider" warnings. (#​1296)
New Features
  • QNAP QTS/QuTS hero agent support β€” The installer now detects QNAP systems and handles the ephemeral /etc/init.d by storing the agent on a persistent data volume with autorun.sh boot persistence. (#​1253)
UI
  • Pro badge on Reporting tab β€” The Reporting nav item now shows a Pro badge for clarity. (#​1285)
  • Reduced patrol trigger log noise β€” Patrol trigger logging is less verbose in normal operation. (#​1258)
Installation

Docker (recommended):

docker pull rcourtman/pulse:5.1.15

Docker Compose:
Update your docker-compose.yml to use rcourtman/pulse:5.1.15

See the Installation Guide for complete setup instructions.

Read more

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