Updates
Clients and daemons update separately. Keep them close: from 0.6, apps require daemon
0.6.0 or later, and CHANGELOG.md marks releases that need both updated together.
Daemons installed with install.sh
Section titled “Daemons installed with install.sh”frogg update --checkfrogg updatefrogg update --channel betafrogg update --to 0.6.18 # pin a version, including older onesHow it works:
- Finds the release on GitHub (
frogg-app/frogg) for the channel. Stable ignores prereleases (-beta.N); beta includes them. - Downloads the daemon bundle, verifies its
.sha256, and unpacks it to~/.local/share/frogg/versions/<version>. - Switches the
currentlink, restarts the service, and waits up to 90 seconds for/api/identityto report the new version and/api/healthto answer. - If that fails, switches back to the previous version, restarts, and exits with code 2.
The result is recorded in ~/.local/share/frogg/last-update.json; details in
self-update.log next to it. The three newest versions are kept.
The same update runs from the app: host settings → Overview → Daemon updates.
Automatic updates
Section titled “Automatic updates”{ "daemon": { "autoUpdate": { "enabled": true, "channel": "stable", "checkIntervalHours": 24, "quietHours": [9, 18] } }}The first check runs five minutes after start. An update waits while agents are running
or during quiet hours (local time; [9, 18] means 09:00 to 18:00), retrying every 15
minutes.
Rate limits and mirrors
Section titled “Rate limits and mirrors”GitHub’s API allows 60 unauthenticated requests an hour. On a 403 or 429 the updater tries
GH_TOKEN, GITHUB_TOKEN or gh auth token; set FROGG_GITHUB_TOKEN to always use a token.
Point at a mirror with FROGG_RELEASE_BASE (<base>/download/v<version>/<asset>) and
FROGG_RELEASES_API.
Not self-updatable
Section titled “Not self-updatable”frogg update refuses and says why for:
| Install | Update by |
|---|---|
| Docker | install-docker.sh --update with the new image; see Docker |
| Nix | Bump the flake input and rebuild |
| Dev checkout or manual copy | git pull and rebuild, or re-run install.sh to switch to a versioned install |
| Custom brand with updates disabled | Your distribution’s own process |
Desktop and mobile apps
Section titled “Desktop and mobile apps”- Desktop checks GitHub releases and installs on quit; choose Stable or Beta. See desktop app.
- Android has no in-app updater. Download the new APK from releases.
- The web app is served by the daemon, so it updates with the daemon.