Update the Hub
Update the Watchflare Hub to the latest version — pull the new Docker image, recreate the container, and verify the upgrade with zero-downtime rollback steps.
Before you update
Take a database backup before every upgrade. Schema migrations run automatically on startup and are not reversible without a backup:
docker exec watchflare-postgres pg_dump -U watchflare watchflare > watchflare-pre-update.sql Check the changelog to review what changed in the new version before pulling.
Update the Hub
Pull the latest image and recreate the container:
docker compose pull
docker compose up -d $ docker compose pull [+] Pulling 2/2 ✔ watchflare Pulled ✔ postgres Pulled $ docker compose up -d [+] Running 2/2 ✔ Container watchflare-postgres Started ✔ Container watchflare Started
The Hub runs database migrations automatically on startup. No manual steps are needed.
Note
All data lives in Docker named volumes (pgdata, pki_data). Image updates never touch volumes.
Verify the update
Check that the new container started cleanly:
docker compose ps
docker compose logs watchflare --tail 30 Look for a line like Hub started in the logs. If migrations ran, they will appear before this line. A successful startup also means the database schema is fully up to date.
Open the dashboard in a browser to confirm the Hub is reachable and your hosts and metrics are intact.
Pinning a version
By default, docker-compose.yml uses the latest tag. To pin to a specific release, edit the image tag:
services:
watchflare:
image: ghcr.io/watchflare-io/watchflare:0.33.0 Then pull and restart:
docker compose pull
docker compose up -d Pinning is recommended in production so that automated image pulls do not trigger unexpected updates.
Downgrading
Downgrading is not supported. Migrations are additive and forward-only — running an older image against a migrated database may fail or produce unexpected behavior.
If you need to roll back, restore from a database backup taken before the upgrade:
# Stop the Hub
docker compose down
# Restore the database from backup
docker compose up -d watchflare-postgres
docker exec -i watchflare-postgres psql -U watchflare watchflare < watchflare-pre-update.sql
# Pin to the previous image version in docker-compose.yml, then start
docker compose up -d Agent compatibility
Agents do not need to be updated at the same time as the Hub. The Hub maintains backwards compatibility with older agents across minor versions. Check the changelog for any breaking changes that affect the agent protocol.
Agents update independently. See Update the Agent.