Watchflare docs
Sur cette page

Mettre à jour le Hub Watchflare

Mettez à jour le Hub Watchflare via Docker Compose ou le binaire systemd. Sauvegarde avant upgrade, migrations automatiques, pinning de version, rollback.

Avant de mettre à jour

Sauvegardez la base avant chaque mise à jour. Les migrations partent toutes seules au démarrage ; sans dump, pas de retour arrière :

bash
docker exec watchflare-postgres pg_dump -U watchflare watchflare > watchflare-pre-update.sql

En install binaire avec un TimescaleDB à part, pg_dump en direct :

bash
pg_dump -h localhost -U watchflare watchflare > watchflare-pre-update.sql

Lisez le changelog avant : vous saurez ce qui change.


Docker

Tirer l’image et redémarrer

bash
docker compose pull
docker compose up -d
bash
$ docker compose pull
[+] Pulling 2/2
✔ watchflare Pulled
✔ postgres   Pulled

$ docker compose up -d
[+] Running 2/2
✔ Container watchflare-postgres  Started
✔ Container watchflare           Started

Le Hub lance les migrations tout seul au démarrage. Rien à faire à la main.

Remarque

Toutes les données sont dans les volumes Docker nommés (pgdata, pki_data). Une mise à jour d’image ne les touche pas.

Vérifier

Le nouveau conteneur a-t-il démarré proprement ?

bash
docker compose ps
docker compose logs watchflare --tail 30

Cherchez HTTP server starting et gRPC server starting. Les migrations, s’il y en a eu, sont juste au-dessus. Ouvrez le tableau de bord : il répond, machines et métriques toujours là.

Épingler une version

Par défaut, docker-compose.yml pointe sur latest. Pour figer une version, changez le tag :

docker-compose.yml yaml
services:
  watchflare:
    image: ghcr.io/watchflare-io/watchflare:0.40.1

Puis tirez et redémarrez :

bash
docker compose pull
docker compose up -d

En production, figer le tag évite qu’un pull automatique bascule tout seul.

Rollback (Docker)

Revenir en arrière n’est pas prévu. Les migrations s’ajoutent, dans un seul sens. Une image plus ancienne sur une base déjà migrée peut planter, ou faire n’importe quoi.

Pour rétrograder, restaurez le dump pris avant la mise à jour :

bash
# Stop the Hub
docker compose down

# Restore the database
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

Binaire (Linux, systemd)

Remplacer le binaire

Arrêtez le service, téléchargez le nouveau binaire, redémarrez :

bash
sudo systemctl stop watchflare-hub

TAG=v0.40.1
VERSION=0.40.1
ARCH=amd64    # or arm64

curl -L "https://github.com/watchflare-io/watchflare/releases/download/${TAG}/watchflare-hub_${VERSION}_linux_${ARCH}.tar.gz" \
  | tar xz
sudo mv watchflare-hub /usr/local/bin/

sudo systemctl start watchflare-hub

Vérifier

bash
sudo systemctl status watchflare-hub
journalctl -u watchflare-hub --since "1 minute ago"

Cherchez HTTP server starting et gRPC server starting. Le binaire lance les migrations embarquées tout seul au démarrage.

Rollback (binaire)

Arrêtez le service, restaurez le dump, réinstallez l’ancien binaire, redémarrez :

bash
sudo systemctl stop watchflare-hub

# Restore the database: use psql directly, or docker exec if TimescaleDB is in Docker
psql -h localhost -U watchflare watchflare < watchflare-pre-update.sql
# docker exec -i watchflare-postgres psql -U watchflare watchflare < watchflare-pre-update.sql

# Reinstall the previous binary version (same download command, with the old tag)
TAG=v0.35.0   # the version you are rolling back to
VERSION=${TAG#v}
ARCH=amd64
curl -L "https://github.com/watchflare-io/watchflare/releases/download/${TAG}/watchflare-hub_${VERSION}_linux_${ARCH}.tar.gz" \
  | tar xz
sudo mv watchflare-hub /usr/local/bin/

sudo systemctl start watchflare-hub

Compatibilité des agents

Pas besoin de mettre à jour les agents en même temps. Le Hub reste compatible avec les agents plus anciens d’une mineure à l’autre. Le changelog signale une rupture de protocole s’il y en a une.

Les agents se mettent à jour chacun de leur côté. Voir Mettre à jour l’Agent.

Variables d’environnement après une mise à jour : référence de configuration.