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.