Watchflare docs
Sur cette page

Démarrage rapide

Déployez le Hub Watchflare avec Docker Compose et enrôlez votre premier agent. Cinq étapes et zéro configuration optionnelle vous mènent de l'installation aux métriques en direct en moins de 5 minutes.

Ce guide vous accompagne pour déployer le Hub, créer votre compte admin et connecter votre premier agent.

Prérequis : Docker et Docker Compose v2+ (Linux, macOS ou Windows).


1. Déployer le Hub

Créez un répertoire et entrez-y :

bash
mkdir watchflare && cd watchflare

Enregistrez ce qui suit sous docker-compose.yml :

docker-compose.yml yaml
services:
  watchflare:
    image: ghcr.io/watchflare-io/watchflare:latest
    container_name: watchflare
    ports:
      - "${HUB_PORT:-8080}:8080"
      - "${GRPC_PORT:-50051}:50051"
    environment:
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
      - POSTGRES_USER=${POSTGRES_USER:-watchflare}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env}
      - POSTGRES_DB=${POSTGRES_DB:-watchflare}
      - POSTGRES_SSLMODE=disable
      - GRPC_PORT=${GRPC_PORT:-50051}
      - JWT_SECRET=${JWT_SECRET:?Set JWT_SECRET in .env}
      - NOTIFICATION_ENCRYPTION_KEY=${NOTIFICATION_ENCRYPTION_KEY:?Set NOTIFICATION_ENCRYPTION_KEY in .env}
      - TLS_MODE=${TLS_MODE:-auto}
      - TLS_PKI_DIR=/var/lib/watchflare/pki
      - GRPC_TIMESTAMP_WINDOW=${GRPC_TIMESTAMP_WINDOW:-300}
      - ENV=production
      - COOKIE_SECURE=${COOKIE_SECURE:-}
      - COOKIE_DOMAIN=${COOKIE_DOMAIN:-}
      - TRUSTED_PROXIES=${TRUSTED_PROXIES:-127.0.0.1,::1}
    volumes:
      - pki_data:/var/lib/watchflare/pki
    depends_on:
      postgres:
        condition: service_healthy
    networks:
      - watchflare_net
    restart: unless-stopped

  postgres:
    image: timescale/timescaledb:latest-pg16
    container_name: watchflare-postgres
    environment:
      POSTGRES_USER: ${POSTGRES_USER:-watchflare}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env}
      POSTGRES_DB: ${POSTGRES_DB:-watchflare}
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-watchflare}"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - watchflare_net
    restart: unless-stopped

volumes:
  pgdata:
    driver: local
  pki_data:
    driver: local

networks:
  watchflare_net:
    driver: bridge

Créez un fichier .env dans le même répertoire avec les trois secrets obligatoires :

printf "POSTGRES_PASSWORD=%s\nJWT_SECRET=%s\nNOTIFICATION_ENCRYPTION_KEY=%s\n" \
  "$(openssl rand -base64 32)" \
  "$(openssl rand -base64 32)" \
  "$(openssl rand -base64 32)" > .env

Remarque

Sous macOS, utilisez l’onglet Linux, car openssl est disponible par défaut.

Démarrez la stack :

bash
$ docker compose up -d
[+] Running 3/3
✔ Network watchflare_watchflare_net  Created
✔ Container watchflare-postgres      Started
✔ Container watchflare               Started

Remarque

Le Hub génère automatiquement une CA TLS auto-signée au premier démarrage. Cette CA sécurise la communication gRPC avec les agents. Aucune configuration manuelle de certificats n’est nécessaire.

Le Hub sera disponible à l’adresse http://your-host:8080 en quelques secondes.


2. Créer votre compte admin

Ouvrez http://your-host:8080 dans votre navigateur. Sur une installation neuve, vous êtes automatiquement redirigé vers la page de configuration du compte. Saisissez votre e-mail et un mot de passe fort.


3. Ajouter un hôte

  1. Dans la barre latérale, cliquez Hosts, puis Add host.
  2. Saisissez un nom (par ex. web-01). Saisissez éventuellement l’adresse IP de l’hôte. Le Hub vous avertira si l’agent se connecte depuis une IP différente. Laissez l’IP vide ou cochez Allow registration from any IP pour ignorer entièrement cette vérification.
  3. Cliquez Create Host.
  4. Copiez le jeton d’enrôlement affiché :
watchflare · enrollment token
token  wf_reg_7f2a9c3e8b4d1a6c5e09f3b2a178e4d9

Attention

Le jeton expire au bout de 24 heures. Installez l’agent avant qu’il n’expire.


4. Installer l’agent

Exécutez l’installeur en une ligne sur l’hôte que vous souhaitez surveiller. Remplacez les espaces réservés par l’IP de votre Hub et le jeton de l’étape précédente.

curl -sSL https://get.watchflare.io | sudo bash -s -- \
  --token wf_reg_YOUR_TOKEN \
  --host YOUR_HUB_IP \
  --port 50051

Attention

Remplacez wf_reg_YOUR_TOKEN par le jeton de l’étape précédente et YOUR_HUB_IP par l’adresse IP ou le nom d’hôte de votre Hub.

L’installeur enrôle l’agent, écrit la configuration et démarre le service automatiquement.


5. Voir votre hôte passer en ligne

Revenez à la liste Hosts dans votre navigateur. Le statut de l’hôte passe de pending à online dans les 5 secondes après le démarrage de l’agent.

À partir de là, vous pouvez explorer les métriques en temps réel et les graphiques d’historique. L’inventaire des paquets exécute sa première analyse 60 secondes après le démarrage de l’agent, puis quotidiennement à 03:00.


Prochaines étapes