Catégories
Informatique

Docker avec Cloudflare Tunnel et healthcheck opérationnel

Ce guide explique comment utiliser le conteneur Docker de cloudflare/cloudflared:latest avec un healthcheck fonctionnel via l’endpoint metrics & ready.

1. Pourquoi intégrer un healthcheck pour Cloudflare Tunnel ?

Par défaut, cloudflared lance un serveur /metrics Prometheus accessible (en container) sur 0.0.0.0:PORT

Cependant il n’y a pas de commande healthcheck intégrée dans l’image officielle Docker.

L’endpoint /ready permet de vérifier si le tunnel est prêt .

2. Exemple de configuration Docker Compose

 # Cloudflare Tunnel Service
  cloudflare-tunnel:
    image: cloudflare/cloudflared:latest
    container_name: logcentral-cloudflare-tunnel
    restart: unless-stopped
    environment:
      - CLOUDFLARE_TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN}
    command: >
      tunnel --metrics 127.0.0.1:60123 --no-autoupdate 
      run --token ${CLOUDFLARE_TUNNEL_TOKEN}
    healthcheck:
      test: ["CMD", "cloudflared", "tunnel", "--metrics", "127.0.0.1:60123", "ready"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    labels:
      - "traefik.enable=false"

➡️ Explications :

  • --metrics 127.0.0.1:60123 force l’endpoint disponible sur l’ip localhost (info disponible ici)
  • La commande healthcheck utilise cloudflared tunnel --metrics 127.0.0.1:60123 ready pour interroger directement l’endpoint readiness.
  • Les paramètres interval, timeout, retries et start_period contrôlent l’attente et les tentatives de vérification.

Laisser un commentaire