ProjetsSystèmes, réseau & algorithmes
Inception
Infra Docker et monitoring maison
- Période
- juil. 2025 – févr. 2026
- Cadre
- cursus 42
- Équipe
- solo
- Note
- 125/100 · outstanding ×3
- Go
- Docker
- MariaDB
- Réseau
- Administration système
Une petite infrastructure complète, montée avec Docker Compose : un site WordPress, sa base de données, son serveur web, puis tout ce que j’ai eu envie d’y ajouter, jusqu’à un monitoring écrit en partie à la main.
La base
Chaque service a sa propre image, écrite à partir d’un Dockerfile (pas d’image toute faite) : Nginx en TLS comme seule porte d’entrée sur le port 443, WordPress avec PHP-FPM, et MariaDB. Les données vivent dans des volumes, et les services ne se parlent que sur un réseau Docker dédié.
Les services démarrent dans le bon ordre grâce à des healthchecks : WordPress attend que MariaDB soit réellement prête, pas seulement lancée.
Les bonus
Un cache Redis pour WordPress, un serveur FTP vers les fichiers du site, Adminer pour la base, un site statique en Nuxt, et un petit jeu en Go. Puis le monitoring : Prometheus collecte les métriques, Grafana les affiche.
Les exporters, qui traduisent l’état de MariaDB, Redis, PHP-FPM et Nginx en métriques Prometheus, je les ai écrits moi-même en Go. J’ai aussi écrit « guardian », un outil en Go qui génère les secrets et les variables d’environnement de façon sûre, pour qu’aucun mot de passe ne traîne dans le dépôt.
Ce que j’en retiens
- Un conteneur, c’est un processus isolé, pas une machine virtuelle.
- « Démarré » n’est pas « prêt » : d’où les healthchecks.
- Les secrets se génèrent et se montent, ils ne se commitent pas.