Ce billet explique comment configurer Coolify et Traefik pour gérer des certificats SSL wildcard sur des sous-domaines dynamiques (comme user1.monapp.com, user2.monapp.com, etc.). L’auteur détaille d’abord le problème : avec des sous-domaines dynamiques, la validation HTTP classique de Let’s Encrypt ne fonctionne pas, car les domaines n’existent pas encore au moment de la demande de certificat. La solution passe par le DNS challenge, qui consiste à prouver le contrôle du domaine en ajoutant un enregistrement TXT dans la zone DNS, plutôt qu’un fichier sur le serveur.
Le guide décrit la configuration d’un résolveur de certificats dans Traefik (via Coolify) en utilisant l’API d’un fournisseur DNS compatible (comme bunny.net), puis montre comment appliquer ce résolveur à une application. Enfin, il aborde la gestion des custom domains, où l’utilisateur peut utiliser son propre domaine, en combinant un routeur Traefik avec une règle HostRegexp pour capturer tout le trafic inconnu et générer automatiquement les certificats via HTTP challenge. Un retour d’expérience utile pour qui veut automatiser la gestion du SSL sur des architectures multi-tenants.
Ce billet explique comment configurer une application multi-tenant avec des sous-domaines dynamiques (ex: clientA.monapp.com, clientB.monapp.com) en utilisant Coolify et Nuxt. Coolify, une alternative open-source aux PAAS comme Heroku, permet de déployer des applications et services managés. L’astuce repose sur l’utilisation des wildcard domains et la modification des Container labels de Traefik pour accepter tout le trafic sur *.monapp.com via une expression régulière (HostRegexp(.+.monapp.com$)). Côté Nuxt, un composableuseTenant()` extrait le sous-domaine de l’URL pour identifier le client. Une solution simple une fois la configuration Traefik bien comprise !
Cet article explique comment configurer WordPress avec MariaDB et Traefik en utilisant des réseaux Docker séparés pour améliorer la sécurité et faciliter la duplication de sites. L’article détaille la création d’une architecture où chaque site WordPress et sa base de données sont isolés dans leur propre réseau privé, inaccessible depuis internet, tandis que Traefik gère le routage et les certificats SSL automatiquement via Let’s Encrypt. Le tutoriel propose une configuration étape par étape : installation de Traefik avec SSL, création de réseaux Docker dédiés, déploiement d’un premier site WordPress, puis duplication aisée pour ajouter d’autres sites. Les avantages soulignés sont la sécurité renforcée, la simplicité de gestion et la possibilité d’ajouter facilement de nouveaux sites. L’auteur évoque aussi des pistes d’amélioration, comme l’automatisation des sauvegardes des bases de données. Idéal pour qui veut héberger plusieurs sites WordPress de manière sécurisée et scalable.
L’article explique comment l’auteur a remplacé Apache par Traefik comme reverse proxy, principalement pour intégrer Crowdsec (notamment son module AppSec, compatible uniquement avec Nginx, OpenResty ou Traefik) et bloquer efficacement les scans malveillants (comme les requêtes vers .env ou X11). Traefik centralise le routage, simplifie la gestion des certificats Let’s Encrypt, et permet d’appliquer des middlewares de sécurité (HSTS, CSP, rate limiting, etc.). L’installation se fait en binaire (hors Docker), avec une configuration modulaire (fichiers YAML pour les sites, middlewares, et le dashboard). L’intégration de Crowdsec se fait via un bouncer Traefik et le module AppSec, qui analyse les requêtes en temps réel et bannit les IP suspectes (ex : accès à .env). Malgré quelques péripéties (notamment avec les versions de Crowdsec et des conseils erronés de ChatGPT), le résultat est un système sécurisé, évolutif, et facile à surveiller via les logs et métriques. L’auteur souligne la satisfaction d’avoir un WAF performant et open source, tout en partageant ses fichiers de configuration et astuces pour reproduire la solution.
L'auteur montre l'installation d'Anubis pour bloquer les robots des entreprises IA. Il utilise Traefik comme reverse proxy.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
... c'est à dire sans avoir de conteneur :)
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre