Ajout de traefik avec gestion du https + restructuration des services
Cette MR propose 2 modifications importantes :
traefik
dans la stack
Mise en place de Le proxy traefik
a été mis en place en remplacement de nginx-proxy
car il permet de gérer le https pour nos projets en local. Cela permettra notamment d'utiliser cette stack pour les projets Wordpress dont certains plugins nécessitent un accès sécurisé.
Des certificats wildcard sur les domaines *.local
et *.localhost
sont générés par le conteneur mkcert
puis partagés au conteneur traefik
via un dossier local qui est monté en volume dans les 2 conteneurs.
À noter : si tout fonctionne bien, on pourra également profiter de traefik
pour accéder aux ports des bases de données de nos projets dans une prochaine MR à venir. Cela permettra d'y accéder directement via un logiciel dédié comme MySQL Workbench, DBeaver ou un plugin de son IDE au lieu de phpMyAdmin ce qui n'est pas possible aujourd'hui avec nginx-proxy
.
Découpage des services proposés par la stack
Ce point permet de mieux retrouver les différents éléments qui sont proposés puisqu'ils sont chacun rangés dans un dossier services
. Il offre la possibilité à chaque personne de choisir les services qu'il souhaite démarrer, comme par exemple de choisir entre démarrer nginx-proxy
ou traefik
en changeant juste une variable dans son .env
, mais permettra également à l'avenir d'ajouter de nouveaux services plus facilement.
Chaque service a son dossier qui contient les fichiers de configuration docker, son README.md
, son Makefile mais aussi tous les fichiers de configuration qui lui sont propres.
Le dossier principal contient également un README.md
global qui affiche la liste des services disponibles ainsi qu'un Makefile central. Ce dernier se charge de lancer la commande demandée (make up
par exemple) dans chacun des sous-dossiers de services qui ont été déclarés dans la variable SERVICES
du .env
principal (initialisé par défaut au premier lancement avec le contenu du fichier .env.dist
) :