Blog

dev, adminsys, networking

Reverse proxy Docker automatique avec Caddy

Caddy est un nouveau serveur web, avec des fonctionnalités entre nginx et Træfik. Il est capable de fournir du HTTPS automatique, en HTTP/2 !
C'est un binaire Go qui intègre notamment un client Let's Encrypt.

Utilisation basique

La syntaxe est simple, il y a sensiblement les mêmes options que nginx, en moins complexe et un peu moins flexible. Il y a cependant un système de plugins.
Il y a un conteneur Docker, mais il reste avec une configuratiion statique: du classique.

Cloud-native docker auto-proxy

Ce projet permet de configurer un reverse-proxy via les Labels des conteneurs docker. La configuration est dynamique, modifiée à chaque création/destruction de conteneurs; mais le conteneur est capable de stocker ses certificats dans un volume persistant (qu'il faut spécifier !).

Un programme à coté de Caddy écoute le socket Docker pour déterminer la configuration à partir les Labels sur les conteneurs crées.

Changer la configuration

Elle se met à jour automatiquement pour les sous-domaines. Si vous rajoutez un nouveau domaine et que ça ne marche pas, redémarrez le conteneur.