Suite aux offres OVH VPS 2026 j’ai décidé de migrer mon vieux Digital Ocean toujours bloqué sur une debian 12.
J’aime héberger mes différents services en utilisant des containers et en mettant un reverse proxy devant.
Sur mon ancienne configuration j’utilisais Traefik, pour changer un peu j’ai décidé que c’était l’occasion de tester Caddy.
Table Of Content
- Trouver le bon plugin
- Installer le plugin
- Préparer le Caddyfile
- Trouver les identifiants du provider OVH
- Ajouter les identifiants du provider OVH
- Conclusion
- Liens utiles
- Ce qui se passe réellement
- Pourquoi cela dérange
- Ce que cela implique concrètement
- Lecture satirique
- Effet miroir international
- À quoi s’attendre
- Sources
J’ai cherché un peu de doc afin de le configurer correctement (notamment la partie wildcard avec dns challenge) et je n’ai pas trouvé d’article récent parlant de ce sujet, du coup je vous partage mon expérience en espérant pouvoir vous aider 🙂
Attention, j’utilise la version Docker de Caddy, mais vous pouvez tout de même suivre cet article si vous l’avez installé directement sur votre système !
Prérequis :
- Avoir installé Caddy version 2 (>2.10.0 pour ne pas avoir à ajouter l’option
auto_https prefer_wildcardplus de détails ici) via Docker ou directement. - Au niveau de votre provider dns avoir déjà redirigé vos domaines sur votre serveur, cela inclut votre domain de base + le wildcard de votre domain, donc par exemple avoir un enregistrement du type
*.example.com IN A 1.1.1.1(où1.1.1.1correspond à l’ip de votre serveur) si vous utilisez ovh vous pouvez vous référer à cette doc
Trouver le bon plugin
La première étape est de trouver son provider DNS dans le repository suivant : https://github.com/caddy-dns
J’utilise personnellement ovh. Pour la suite de l’article ce sera donc : https://github.com/caddy-dns/ovh
Installer le plugin
Il faut maintenant ajouter le plugin à Caddy :
Installation direct : xcaddy build --with github.com/caddy-dns/ovh
Pour Docker on va créer un dossier par exemple dans notre home : mkdir -p ~/caddy/config (le dossier config vous sera utile juste après)
Ensuite créer un Dockerfile avec le contenu suivant dans notre dossier ~/caddy :
FROM caddy:builder AS builder
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
xcaddy build \
--with github.com/caddy-dns/ovh
FROM caddy:latest
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
Préparer le Caddyfile
Exemple de Caddyfile à utiliser (pour une installation via Docker le placer dans le path suivant : ~/caddy/config/Caddyfile il sera utilisé par le compose.yaml plus tard) :
{
debug
}
*.example.com, example.com {
tls {
dns ovh {
endpoint {$OVH_ENDPOINT}
application_key {$OVH_APPLICATION_KEY}
application_secret {$OVH_APPLICATION_SECRET}
consumer_key {$OVH_CONSUMER_KEY}
}
}
# default handle
handle {
respond "it works !"
}
}
(n’oubliez pas de remplacer example.com par votre nom de domaine)
Les variables d’environnement nécessaires à la configuration d’OVH seront renseignées dans les chapitres suivants.
Attention, ici j’ai pris l’exemple de configurations pour ovh, veillez à la remplacer par celle de votre provider que vous trouverez dans le README du repository https://github.com/caddy-dns de votre provider.
Trouver les identifiants du provider OVH
Afin de trouver les informations requises par Let’s Encrypt pour communiquer et gérer nos enregistrements DNS OVH le README nous indique qu’il va falloir aller créer une application (avec accès API) à notre compte OVH.
La documentation Caddy nous redirige vers ce lien : https://github.com/libdns/ovh#authenticating
Qui ensuite nous mène ici : https://github.com/ovh/go-ovh#supported-apis
L’idée est de trouver quelle est notre OVH région afin de suivre le lien « Create script credentials (all keys at once) ».
La mienne étant Europe, je vais donc suivre https://eu.api.ovh.com/createToken/
Authentifiez-vous à votre compte OVH et vous devriez arriver sur cette page :

Vous allez remplir le formulaire de la manière suivante :

Si vous avez un doute référez vous à la page que j’ai indiqué précédemment : https://github.com/libdns/ovh#authenticating . Je vous conseille de suivre la configuration pour un simple domaine, mais si vous avez vocation à laisser votre Caddy gérer plusieurs domaines différents, alors vous devriez suivre la configuration pour multiple domaines !
Une fois enregistré, n’oubliez pas de sauvegarder les informations suivantes (Attention, vous ne pourrez plus accéder à ces informations par la suite) :
- application key
- application secret
- consumer key
Nous allons les utiliser dès maintenant !
Ajouter les identifiants du provider OVH
Si vous avez installé Caddy directement alors modifiez les info dans votre Caddyfile.
Si vous avez utilisé Docker je vous conseille de fournir ces infos via un compose.yaml :
services:
caddy:
build: .
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./conf:/etc/caddy
- ./site:/srv
- caddy_data:/data
- caddy_config:/config
environment:
OVH_ENDPOINT: "ovh-eu"
OVH_APPLICATION_KEY: "votre-application-key"
OVH_APPLICATION_SECRET: "votre-application-secret"
OVH_CONSUMER_KEY: "votre-consumer-key"
volumes:
caddy_data:
caddy_config:
Conclusion
Le moment de vérité est arrivé !
Relancez Caddy pour qu’il prenne en compte votre nouvelle configuration
Sans Docker :
sudo systemctl restart caddy
Avec Docker :
sudo docker compose up -d && sudo docker compose logs -f
Rendez-vous sur votre nom de domaine et vous devriez voir la phrase « it works ! » ainsi qu’un certificat tls !
Si vous voulez tester un sous domain, rien de plus simple.
Ajoutez le bloc suivant à votre Caddyfile (en modifiant bien subdomain.example.com par votre nom de domaine et le sous domain désiré)
@subdomain host subdomain.example.com
handle @subdomain: {
respond "subdomain works !"
}
Dans le bloc précédemment ajouté, entre le bloc tls et l’instruction handle
Relancez Caddy via les commandes suivantes :
Sans Docker :
sudo systemctl reload caddy
Avec Docker :
sudo docker compose exec -w /etc/caddy caddy caddy reload
Si vous avez une erreur sur le formattage de votre fichier Caddy vous pouvez utiliser la commande suivante :
sudo docker compose exec -w /etc/caddy caddy caddy fmt --override
Puis reload Caddy.
Et allez tester votre sous-domaine 🙂
Have fun !
Liens utiles
Caddy, OVH et la quête du certificat SSL : une migration qui fait grincer des dents
Entre promesses de simplicité et réalité chaotique, la migration vers Caddy pour gérer vos certificats SSL pourrait bien être un parcours du combattant.
Récemment, un utilisateur a décidé de quitter son ancien ami, Digital Ocean, pour un OVH VPS flambant neuf. L’objectif ? Tester Caddy, un reverse proxy qui promet monts et merveilles, tout en se débarrassant des tracas de Traefik. Mais derrière cette façade séduisante, se cache une réalité bien plus complexe.
Ce qui se passe réellement
Notre protagoniste, après avoir installé Caddy version 2.10.0, se retrouve face à un défi : configurer un wildcard avec DNS challenge. En fouillant dans la documentation, il réalise qu’il n’est pas le seul à se heurter à ce mur. La communauté semble avoir déserté ce sujet, laissant les utilisateurs dans l’angoisse de la configuration.
Pourquoi cela dérange
La promesse d’une installation simple et rapide se heurte à la réalité d’une documentation lacunaire. Au lieu de se concentrer sur l’optimisation de ses services, notre utilisateur doit jongler avec des configurations complexes et des identifiants API d’OVH. Une situation qui rappelle étrangement les promesses des politiques autoritaires : des discours enflammés, mais des résultats souvent décevants.
Ce que cela implique concrètement
La nécessité de rediriger les domaines et de configurer les identifiants API ne fait qu’ajouter une couche de complexité. Les utilisateurs se retrouvent à devoir naviguer dans un labyrinthe de configurations, alors que l’objectif initial était de simplifier leur vie numérique. Une ironie qui ne manquera pas de faire sourire ceux qui ont déjà goûté aux promesses non tenues des géants technologiques.
Lecture satirique
Il est fascinant de voir comment des entreprises comme OVH, qui se présentent comme des champions de la simplicité, peuvent plonger leurs utilisateurs dans un océan de complexité. Cela rappelle les discours politiques où l’on promet un avenir radieux, mais où la réalité est souvent teintée de désillusion. La migration vers Caddy, loin d’être une promenade de santé, devient une véritable épreuve de force.
Effet miroir international
À l’échelle mondiale, cette situation n’est pas sans rappeler les dérives autoritaires que l’on observe dans des pays comme la Russie ou les États-Unis. Les promesses de liberté et de simplicité se heurtent souvent à des réalités bien plus sombres. Caddy, OVH, et la quête du certificat SSL deviennent ainsi le reflet d’un système où la complexité et l’opacité règnent en maîtres.
À quoi s’attendre
Si cette tendance se poursuit, les utilisateurs pourraient bien se retrouver piégés dans un cycle sans fin de migrations et de configurations. La promesse d’une solution simple pourrait se transformer en un cauchemar technologique, où chaque mise à jour apporte son lot de complications.
Sources



