mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 00:17:39 +01:00
2.3 KiB
2.3 KiB
🔄 Automatic Updates
Manage Pulse auto-updates on host-mode installations.
Note
: Docker/Kubernetes users should manage updates via their orchestrator.
⚙️ Components
| File | Purpose |
|---|---|
pulse-update.timer |
Daily check (02:00 + jitter). |
pulse-update.service |
Runs the update script. |
pulse-auto-update.sh |
Fetches release & restarts Pulse (/opt/pulse/scripts/pulse-auto-update.sh). |
Release channel note: the systemd timer script tracks GitHub releases/latest (stable). RC channel settings only affect the in-app update checker.
🚀 Enable/Disable
Via UI (Recommended)
Settings → System → Updates.
Via CLI
# Enable
sudo jq '.autoUpdateEnabled=true' /etc/pulse/system.json > /tmp/system.json && sudo mv /tmp/system.json /etc/pulse/system.json
sudo systemctl enable --now pulse-update.timer
# Disable
sudo jq '.autoUpdateEnabled=false' /etc/pulse/system.json > /tmp/system.json && sudo mv /tmp/system.json /etc/pulse/system.json
sudo systemctl disable --now pulse-update.timer
🧪 Manual Run
Test the update process:
sudo systemctl start pulse-update.service
journalctl -u pulse-update -f
🔍 Observability
- History: in-app updates are tracked via
GET /api/updates/history(admin auth required) and stored inupdate-history.jsonlunder/etc/pulseor/data. The systemd timer script does not record update history entries. - Logs:
journalctl -u pulse-update -forjournalctl -t pulse-auto-update -ffor timer runs. In-app updates write detailed logs to/var/log/pulse/update-<timestamp>.log.
↩️ Rollback
If an update fails:
- Check logs:
journalctl -u pulse-update -forjournalctl -t pulse-auto-update -f. - The timer script keeps a temporary backup under
/tmp/pulse-backup-<timestamp>during the update; failures auto-restore from that backup and then clean it up. - If you need to pin a specific version, re-run the installer with a version:
This installer updates the Pulse server. Agent updates use the
curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | \ sudo bash -s -- --version vX.Y.Z/install.shcommand generated in Settings → Agents → Installation commands.