Watchflare docs
Sur cette page

Mettre à jour le Hub Watchflare

Mettez à jour le Hub Watchflare via Docker Compose ou le binaire systemd. Couvre la sauvegarde avant mise à jour, les migrations automatiques, le figement de version et la procédure de retour arrière.

Avant de mettre à jour

Effectuez une sauvegarde de la base de données avant chaque mise à jour. Les migrations de schéma s’exécutent automatiquement au démarrage et ne sont pas réversibles sans sauvegarde :

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

Si vous utilisez l’installation binaire avec un TimescaleDB externe, utilisez pg_dump directement :

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

Consultez le changelog pour passer en revue ce qui a changé dans la nouvelle version avant de mettre à jour.


Docker

Tirer 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 exécute les migrations de base de données automatiquement au démarrage. Aucune étape manuelle n’est nécessaire.

Remarque

Toutes les données se trouvent dans les volumes Docker nommés (pgdata, pki_data). Les mises à jour d’image ne touchent jamais les volumes.

Vérifier

Vérifiez que le nouveau conteneur a démarré proprement :

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

Cherchez les lignes HTTP server starting et gRPC server starting. Si des migrations ont été exécutées, elles apparaissent avant ces lignes. Ouvrez le tableau de bord pour confirmer qu’il est joignable et que les hôtes et les métriques sont intacts.

Figer une version

Par défaut, docker-compose.yml utilise le tag latest. Pour figer une version précise, modifiez le tag de l’image :

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

Figer la version est recommandé en production afin que les pulls d’image automatiques ne déclenchent pas de mises à jour inattendues.

Retour arrière (Docker)

Le retour à une version antérieure n’est pas pris en charge. Les migrations sont additives et uniquement vers l’avant. Exécuter une image plus ancienne sur une base de données migrée peut échouer ou produire un comportement inattendu.

Si vous devez revenir en arrière, restaurez à partir de la sauvegarde effectuée 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, et 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 les lignes HTTP server starting et gRPC server starting. Le binaire exécute les migrations embarquées automatiquement au démarrage.

Retour arrière (binaire)

Arrêtez le service, restaurez la sauvegarde de la base de données, réinstallez le binaire précédent, et 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

Le Hub et l’agent partagent un seul numéro de version et sont publiés ensemble. Vous n’avez pas à mettre à jour les agents en même temps : le Hub reste compatible avec les agents plus anciens d’une version mineure à l’autre. Consultez le changelog si une version signale une rupture de protocole.

Les agents se mettent à jour selon leur propre calendrier. Voir Mettre à jour l’Agent.

Pour consulter ou modifier les variables d’environnement du Hub après une mise à jour, voir la référence de configuration du Hub.