Skip to content

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.

Terminal window
frogg update --check
frogg update
frogg update --channel beta
frogg update --to 0.6.18 # pin a version, including older ones

How it works:

  1. Finds the release on GitHub (frogg-app/frogg) for the channel. Stable ignores prereleases (-beta.N); beta includes them.
  2. Downloads the daemon bundle, verifies its .sha256, and unpacks it to ~/.local/share/frogg/versions/<version>.
  3. Switches the current link, restarts the service, and waits up to 90 seconds for /api/identity to report the new version and /api/health to answer.
  4. 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.

~/.frogg/config.json
{
"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.

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.

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 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.