-
-
Notifications
You must be signed in to change notification settings - Fork 0
Upgrade Guide
Trove is designed to be simple to upgrade, but the database and agent tokens matter. Schema migrations only move forward, so a verified backup is your rollback path.
- Read the release notes.
- Back up the SQLite database.
- Check current server and agent versions.
- Confirm you can roll back to the previous image/binary.
- For production-style installs, pin the target version instead of relying on
latest.
Server and agents tolerate version skew within a minor release. You do not need to restart every agent at the same instant.
# systemd
sudo TROVE_DB=/var/lib/trove/trove.db \
trove-server backup "/var/backups/trove-$(date +%F).db"
# Docker Compose
mkdir -p backups
docker compose exec server \
trove-server backup "/data/trove-$(date +%F).db"
docker compose cp "server:/data/trove-$(date +%F).db" backups/Keep the backup outside the container volume you are upgrading.
If you pin versions, update each Trove image tag in the Compose file first, for example ghcr.io/techdox/trove-server:0.13.0.
Pull new images:
docker compose pullRestart:
docker compose up -dCheck logs:
docker compose logs -f serverVerify:
curl http://SERVER:8080/healthz
curl http://SERVER:8080/api/v1/agentsDownload and unpack the target release archive, then replace the binary and restart:
VERSION=0.13.0
curl -fLO "https://github.com/techdox/trove/releases/download/v${VERSION}/trove-server_${VERSION}_linux_amd64.tar.gz"
tar xzf "trove-server_${VERSION}_linux_amd64.tar.gz"
sudo install -m 0755 trove-server /usr/local/bin/trove-server
sudo systemctl restart trove-server
sudo systemctl status trove-serverVerify:
curl http://SERVER:8080/healthzMigrations run automatically when the server opens the database.
That means the first start after upgrade may apply schema changes.
Back up before upgrading. Do not downgrade across migrations unless the release notes explicitly say it is safe.
Usually upgrade the server first, then agents.
Upgrade the server first, then agents when convenient. The server owns migrations and background workers, while agents repopulate current catalogue state on their normal push interval.
Rollback plan:
- stop the upgraded server
- restore the database backup if migrations were applied and downgrade compatibility is unknown
- restore previous binary/image
- start server
- verify health and agents
Do not point an older binary at a database that a newer migration has already changed unless the release notes explicitly confirm compatibility. Restore the pre-upgrade backup when in doubt.
Check:
- dashboard loads
-
/healthzreturns OK -
/api/v1/agentsshows current last-seen times -
/api/v1/servicesreturns expected services - alert test still works if alerts are configured
- image freshness still resolves if private registry creds are used
Check agent logs. The server may be reachable from your browser but not from the agent network.
Confirm agents are still running and still have the correct TROVE_SERVER_URL and TROVE_TOKEN.
Confirm TROVE_REGISTRY_AUTHS still reaches the server after the upgrade.