Vous en avez assez de perdre du temps à fouiller dans des logs Docker ; vous voulez un outil de supervision simple et efficace de votre vLab ; vous ne vous rappelez jamais de la cli base64 ou comment créer une paire de clefs rsa ? DozzleUptime Kuma et IT-Tools sont là pour vous. Perso je les utilisent tout le temps ou presque … alors, prêt à déployer tous ces conteneurs sécruisés via HTTPS avec Traefik et Let’s Encrypt tout en utilisant OVH pour la validation DNS … un peu de ligne de commande pour vous dégourdir les doigts !

Les 3 outils en un seule tableau (édit du 15/12, je vous en rajoute un quatrième, merci à Korben pour la trouvaille) :

Conteneur/ProjetUtilité principalePoint fortLien GitHub
DozzleMonitoring des logs en temps réelInterface ultra-simple et coloréedozzle/dozzle
Uptime KumaOutil simple de supervisionSuper simple d’emploi, très ergonomique. Léger et suffisant pour un homeLablouislam/uptime-kuma
IT-ToolsBoîte à outils pour réseaux et sysadminTout-en-un, prêt à l’emploiCorentinTh/it-tools
ConvertXBoite à outil pour convertir tout et n’importe quoiTout-en-unC4illin/ConvertX

Pour déployer tout ça il vous faut :

  • Un nom de domaine (ex:  myvlab.ovh pour moi) et un accès à son DNS (chez OVH).
  • Docker installé pour pouvoir jouer de docker-compose.
  • Un home directory ou un répertoire d’installation de base évidemment.

Préparez d’abord l’utilisation de l’API d’OVH pour pouvoir autoriser Traefik a faire valider les FQDN de votre domaine via vérification Let’s Encrypt. Pour éviter d’exposer vos clés OVH dans le docker-compose.yml, créez un fichier .env dans le même dossier que ta configuration. Ce fichier contiendra toutes les variables sensibles. Astuce, n’oubliez pas d’ajouter .env à votre .gitignore si vous utilisez Gitlab/Gitea/Github !

Voici le fichier :

D’abord on créez un nouveau token d’acces à l’API OVHcloud en allant sur https://www.ovh.com/auth/api/createToken :

N’oubliez pas au préalable de créer le réseau interne docker qui sera utilisé dans le docker-compose, à savoir « traefik-net » dans notre cas. Donc un petit docker network create traefik-net --internal et ce sera parfait.

Voici le fichier docker-compose.yml  avec traefik et les 3 conteneurs :

En substance : Traefik agit comme porte d’entrée sécurisée pour les services. Il écoute sur les ports 80 et 443. Il gère automatiquement les certificats SSL via Let’s Encrypt. Les certificats sont stockés dans ./certs/acme.json, et les variables sensibles sont chargées depuis un fichier .env. Ce setup garantit que tous les services seront accessibles en HTTPS, sans configuration manuelle fastidieuse. Traefik est connecté à Docker pour découvrir automatiquement les services à exposer, mais uniquement ceux explicitement activés (exposedbydefault=false).

Enfin, il suffit de démarrer la création des conteneurs via un docker compose up -d

À première vue anodin, ce setup forme pourtant une base solide pour une infrastructure sécurisée, facile à gérer et à maintenir. Grâce à des outils open source et en particulier à Traefik — le reverse proxy/load balancer plébiscité pour sa sécurité et sa simplicité d’utilisation (même au cœur de Kubernetes en ingress controler), vous disposez d’une solution robuste, scalable et prête pour la production, potentiellement.

Références :

Traefik Proxy : https://traefik.io/
Dozzle : https://dozzle.dev/
Uptime Kuma : https://github.com/louislam/uptime-kuma
IT Tools : https://it-tools.tech/
ConvertX : https://github.com/C4illin/ConvertX
Let’s Encrypt : https://letsencrypt.org/fr/
L’API OVHcloud : https://eu.api.ovh.com

et bien sûr, le blog ultra célèbre de Korben https://www.korben.info

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *