Mon petit homelab avec Proxmox
Mon hobby du moment, c’est la création d’un homelab. C’est tout récent et j’aime déjà beaucoup car ça me fait bidouiller, apprendre de nouvelles choses, retourner sur des concepts très basiques de gestion de réseau, firewall, du Linux, etc. Et à la fin, ça m’aide pour expérimenter, automatiser et même pour interagir avec le monde physique (via la domotique).
D’accord c’est bien cool tout ça, mais c’est quoi un homelab ? Grossièrement, c’est une petite infrastructure informatique, un serveur que l’on va installer chez soi pour héberger des services. Il y a un côté bac à sable et apprentissage très sympa là-dedans. (Et encore, je dis petit, mais sur les communautés, je vois parfois des personnes qui sortent l’artillerie lourde chez eux !).
On peut imaginer héberger des services comme Nextcloud, Pi-hole, Plex, n8n, Home Assistant, etc. C’est assez large : je peux reprendre le contrôle sur mes données, expérimenter rapidement, faire de la domotique, automatiser. Un peu ce qui me passe par la tête au final.
L’envie m’est venu en discutant avec un ami, Antoine. Ça faisait déjà un moment qu’il m’en parlait de temps en temps. Et puis un jour on est rentré un peu plus dans le détail du comment. Ce qui m’a accroché sur le moment, c’était sa facilité à ajouter/supprimer des services et à tout compartimenter.
Dans le même temps, IKEA venait de lancer sa nouvelle gamme domotique compatible avec les protocoles Matter et Thread. Une raison supplémentaire pour me lancer dans l’aventure.
L’infrastructure
Avant tout, il me fallait une machine pour créer le serveur. J’ai d’abord fouillé dans mes cartons pour voir si j’avais du vieux matos à recycler. Pas de chance, ce qu’il me restait était beaucoup trop vieux. Donc j’ai fouillé Leboncoin et j’ai fini par trouver un voisin qui m’a vendu un mini PC idéal. La machine avait servi seulement 15 heures en tant que secours de son noeud Ethereum.
Pour s’amuser avec son premier homelab, pas besoin d’une bête de compétition ; un ancien PC ou un Raspberry Pi suffit. J’ai fait le choix de partir sur un mini PC avec un processeur N100. Mon besoin était d’avoir quelque chose de très économe en énergie et de durable dans le temps. 16Go de RAM pour être tranquille et un SSD avec un « vrai NVMe » (pas caché derrière du SATA) pour garantir la rapidité.
Côté domotique, j’avais déjà le nécessaire sans le savoir. Certains objets parlent en wi-fi, mais la plupart utilisent des protocoles radio (Thread, Zigbee, …). Il faut donc un appareil capable d’émettre et de diffuser sur ce protocole, et qui fera l’intermédiaire sur notre réseau local. On appelle ça un routeur de bordure.
Ça peut être une clé USB qui fait office d’antenne ou un boîtier propriétaire qui vient avec d’autres objets (Philips, IKEA, …). Ou, et c’était mon cas, certains appareils connectés des GAFAM (Apple TV, Google TV Streamer, HomePod, Alexa, …) qui sont déjà compatible avec Thread et Matter.
Le système
C’est ici que j’étais le plus sur le cul quand j’ai découvert le système du serveur d’Antoine : Proxmox. C’est un hyperviseur de type 1 (« bare metal », installé directement sur la machine comme on pourrait installer un Windows) basé sur Linux/Debian. Cela permet de créer et gérer facilement un ensemble de machines virtuelles et de containers. C’est puissant pour virtualiser et isoler un ensemble de différents services et systèmes sur une même machine.
Une autre de ses forces, c’est son interface web. On peut gérer notre serveur en SSH, mais aussi via une GUI puisque Proxmox peut être piloté depuis n’importe quel navigateur. Gestion du firewall, installation d’une nouvelle VM, gestion des ressources… une fois que le système est installé, on peut ranger le PC dans un coin et on n’y accédera depuis n’importe quel PC.
En parlant de l’installation, elle est facile :
- On récupère l’ISO sur https://www.proxmox.com/en/downloads .
- On créé une clé USB bootable avec l’ISO (en ligne de commande ou avec un outil comme Balena Etcher).
- On la branche sur le PC puis on le démarre.
- Quelques vérifications à faire dans le BIOS (on martèle la touche Suuuuuuuupr.) : l’ordre de boot et l’activation de la virtualisation. Parfois, il peut être nécessaire de désactiver le Secure Boot.
- On se laisse guider par l’installation graphique de Proxmox. La plupart du temps, on garde ce qui est inscrit par défaut. On voudra par contre fixer l’adresse IP, car elle nous servira pour accéder à l’interface web.
- À la fin de l’installation, on redémarre, on accède au BIOS pour quelques derniers changements (ordre de boot des périphériques, ordre de boot du nvme, secure boot réactivé). On sauvegarde et on laisse Proxmox démarrer/
- On peut maintenant y accéder sur https://<ip_renseignée>:8006 !
J’ajoute quelques conseils qui peuvent aider :
- On vérifie les options du Firewall sur la box de notre FAI. Surtout chez les box de Free qui ont un Firewall IPV6 désactivé par défaut, et qui peuvent adresser une IPV6 publique à notre serveur. Le serveur devient alors accessible à tout internet, et ça, on n’en a peut-être pas envie.
- On fait un checksum une fois l’ISO téléchargé pour vérifier la bonne intégrité du fichier.
- On utilise une bonne clé USB. S’il y a une erreur pendant l’installation (type “package failed during install”), c’est probablement parce que la clé est naze. J’ai recommencé trois fois à cause de ça :)
- On fixe un bail sur notre box FAI pour que l’IP de notre serveur reste identique.
On a donc une première base de homelab pour jouer ! Les prochaines étapes (et probablement articles) ? Prendre un peu de temps à configurer et sécuriser notre serveur, puis ajouter nos premiers services/systèmes.