Pourquoi ?
Et oui, pourquoi ?
Pourquoi j’ai monté un homelab ?
Il faut savoir que dans mon parcours informatique, j’ai connu plusieurs époques :
- MO5, dans le club informatique de mon village (à 9 ans…)
- PCW9512, l’ordinateur de mes parents (pour le travail)
- 486DX2, toujous à mes parents pour la même raison
Et ensuite des machines à moi - majoritairement des Intel - comme des Pentium, I7…
J’ai aussi eut le plaisir de m’amuser avec des Raspberry PI (2, 3+, 4).
Sur toutes ces machines, j’ai toujours eut une forte apétance pour l’aspect système.
Tout ce qui touche à “ya quoi dedans et comment ça tourne”.
Avec toujours une recherche de l’optimisation. En passant de QEMM386 à du sysctl.conf tuné.
Un jour, à force de jouer avec mes RPi, je suis arrivé à les pousser à bout et malgré les kernel perso’ et l’overclocking poussé il n’y avait plus moyen d’avancer.
C’est ainsi que j’ai décidé de remonter une vraie machine dédiée à mes activités curiositiques.
Oui, donc ?
Et bien ce homelab me sert, comme son nom l’indique, de laboratoire à la maison.
J’ai, dès le départ, décidé de partir sur un hyperviseur Proxmox que j’ai installé en passant par l’iso officielle.
Il a fallut découvrir ce soft, le comprendre, le prendre en main pour enfin arriver à en faire quelque chose.
La courbe d’apprentissage pour un usage standard est clairement facilité par l’interface web qui est d’une rare efficacité. (sincèrement c’est possible de ne pas lancer un ssh pour l’administrer)
J’ai commis l’erreur de l’installer avec un système de fichier BTRFS sur l’hôte et sur les machines virtuelles.
Autant dire que sur des disques grand publique ce fut une erreur.
Crash disque, remplacement avec réinstallation totale en EXT4 fut la meilleur décisions prise sur ce point.
Et du coup, j’en fais quoi ?
Et bien c’est relativement simple, la liste des outils déployés sur les différentes vm sont les suivants :
- Node : tsukuyomi
| vm | os | service | description |
| izanagi | Alpine | Unbound, AdGuard Home | Résolveur DNS en local |
| omoikane | Alpine | PowerDNS | Gestion de ma zone DNS |
| suijin | Alpine | Crowdsec, HAProxy, Varnish, Ntfy | La partie ‘reverse proxy’ |
| susanoo | Alpine | A la demande | Tous mes services à la demande… |
- Node : amaterasu
| vm | os | service | description |
| orochi | Alpine | Redis, MySQL, MariaDB, PostgreSQL, BorgWarehouse | Bases de données et archivage |
| ryujin | Alpine | Harbor | Registry Docker personnalisée |
| tenjin | Alpine | Mailcow Dockerized | Gestion complète de mes mails |
| raijin | Alpine | 2Fauth, Vaultwarden, … | Mes services opérationnels h24 |
| sarutahiko | Debian | Immich, Photoprism, Open WebUI, StirlingPDF | VM avec GPU passthrough |
| uzume | Alpine | Pterodactyl | Dédiée aux jeux |
Voila en gros les services qui tournent en permanence…
Il y a aussi ceux qui ne demandent qu’à être lancés à la demande :
- PrivateBin
- IT-Tools
- OmniTools
- Squoosh
- SVGomg
- Slink
- Sends
- DrawIO
- SearXNG
- Networking Toolbox
- Paperless-ngx
Le tout constitue un champ d’expérimentation de différentes fonctionnalités distinctes ou associées ; mais le tout avec une standardisation des docker-compose utilisant à la fois :
- extends
- override
- plusieurs sources de variables d’environnements (mutualisées & spécifiques)
Et la sécurité dans tout ça ?
Et bien chaque VM a son propre Fail2Ban, tout comme son hôte d’ailleurs. (et ça fonctionne, j’ai pu le vérifier)
Chaque VM dispose aussi de son propre bouncer Crowdsec afin de recevoir les décisions du moteur principal.
Tous les services qui sont exposés, le sont à travers :
- HAProxy
- Varnish
- Crowdsec
Quelques services sont mis en cache derrière un Varnish optimisé.
L’ensemble étant derrière une Box, un routeur avec IDS/IPS et un switch managé.
Ce qui fait que le chemin d’accès peut se résumer à :
Internet > Box > Routeur (Firewall + IDS/IPS) > Switch > Reverse Proxy (+WAF avec Crowdsec) > Service
Pour en venir à ?
La curiosité est un moteur de compréhension et de guérison personnelle !
La compréhension de certains outils et/ou mécanismes s’acquiert beaucoup mieux en expérimentant par soi-même.
C’est toute la différence entre la théorie et la pratique. Il y a tout le temps un écart ; et parfois un gouffre.
J’en profite donc pour apprendre, faire de la veille technologique ; et expérimenter pour mieux appréhender.
C’est un peu comme les legos lorsqu’on est enfant ; il y a le modèle prévu sur la notice et tout ce que l’imagination permet de fabriquer avec les mêmes pièces.
Bref, je cultive mon neurone pour le maintenir un peu à flot.
Changelog
2026-05-14
J’ai mis à jour ce billet pour refléter certains changements apportés à mon infrastructure.
