Upgrade
From the dashboard
Section titled “From the dashboard”Pier has a built-in self-update flow.
- Open Settings → Updates.
- Click Check now — Pier compares the installed binary’s modification time against the latest GitHub release asset.
- If a newer version is available, click Update & restart. Pier downloads the new binary, does an atomic swap, and restarts via systemd.
The previous binary is kept at /opt/pier/bin/pier.old for rollback.
What the dashboard update covers
Section titled “What the dashboard update covers”The dashboard flow replaces the pier core binary only. Two things on the host come
from the installer instead, and self-update never touches them:
pier-net-helper— the privileged root daemon that applies the update and runs WireGuard mesh operations./etc/systemd/system/pier-net-helper.service— its systemd unit, which is what makes/run/pier/net.sockreachable by the unprivilegedpieruser.
That matters when a fix lands in the helper or its unit. To pick those up, re-run the installer on the server:
curl -fsSL https://pier.team/install | sudo bashIf Pier reports that the privileged helper is unreachable, this is the command to run — a node in that state cannot self-update at all, because the update is applied by the helper.
Manual upgrade
Section titled “Manual upgrade”sudo systemctl stop piersudo curl -fsSL https://github.com/joveptesg/pier/releases/download/latest/pier-linux-amd64 -o /opt/pier/bin/pier.newsudo chmod +x /opt/pier/bin/pier.newsudo mv /opt/pier/bin/pier /opt/pier/bin/pier.oldsudo mv /opt/pier/bin/pier.new /opt/pier/bin/piersudo systemctl start pierRollback
Section titled “Rollback”sudo systemctl stop piersudo mv /opt/pier/bin/pier.old /opt/pier/bin/piersudo systemctl start pier