Post

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 :

vm service description
izanagi ansible vm dédiée à mes explorations d’Ansible, le tout sous Gitea
omoikane bases de données MariaDB, MySQL, PostgresQL ainsi que Redis, Loki et Mimir
raijin all-in-one Adguard Home, APT-Cacher NG, Calibre, Flame, Gitea, Harbor, Hastebin, Homepage, HyperPiped, Jekyll (ce blog), Matomo, monitoring, Ntfy, Shlink, Traefik, Uptime Kuma, Vaultwarden
tenjin emails tout ça avec mailcow-dockerized et son docker-compose-override
uzume Minecraft Grâce à Pterodactyl
sarutahiko La VM GPU passthrought Jellyfin, Photoprism, Stable Diffusion, Text Generation WebUI
suijin PBS Proxmox Backup Server
ryujin PXE Grâce à iVentoy

Voila en gros les services qui tournent en permanence…

Il y a aussi ceux qui ne demandent qu’à être lancés au besoin:

  • Home Assistant
  • Draw.io
  • Invidious (au cas ou HyperPiped fasse défaut)
  • SearXNG
  • SSHifty
  • Teamspeak
  • Webnut
  • YoutubeDL

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 l’hôte d’ailleurs. (et ça fonctionne, par mégarde j’ai pu le vérifier :p)

Tous les services qui sont exposés, le sont à travers :

  • Traefik
  • Mod Security
  • Crowdsec

Quelques services sont cachés derrière un Varnish optimisé.

L’ensemble étant derrière Cloudflare, une Box, un routeur et un switch managé.

Pour en venir à ?

C’est cool !

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, surveiller les technologies et les expérimenter pour mieux les 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 fais ce qu’on devrait nous apprendre à l’école :

j’apprend en m’amusant (et c’est comme ça que ça rentre le mieux) !

Cet article est sous licence CC BY 4.0 par l'auteur.

© 2022- Olivier. Certains droits réservés.

Propulsé par τζ avec le thème Χ