Le mot laboratoire est important. Un homelab sert à expérimenter sans confondre l'expérimentation avec une production critique. Vous pouvez casser, restaurer, mesurer et documenter.
Les briques essentielles
Chaque couche répond à une question. La machine fournit les ressources. Linux pilote le matériel. Les containers ou machines virtuelles isolent les services. Le réseau les relie. Le stockage conserve les données. Les sauvegardes permettent de revenir après une erreur.
Containers, VM et hyperviseur
Un container partage le noyau Linux de l'hôte. Il démarre vite et consomme peu. Docker Compose décrit plusieurs containers, leurs volumes et leurs réseaux dans un fichier.
Une machine virtuelle possède son propre système d'exploitation. Elle isole davantage et permet d'exécuter des environnements différents, au prix d'une consommation supérieure.
Un hyperviseur comme Proxmox gère les VM, le stockage virtuel et le réseau. Il devient intéressant lorsque plusieurs services et machines doivent être administrés de manière cohérente.
Un premier service avec Docker Compose
Sur une machine Debian ou Ubuntu, le script officiel de Docker installe le moteur et le plugin Compose :
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Uptime Kuma fait un bon premier service : il surveille la disponibilité des autres, ce qui servira dès que vous ajouterez Ollama ou une interface. Créez un dossier uptime-kuma, puis un fichier compose.yaml :
services:
uptime-kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
L'image porte une version majeure explicite. Le port n'est publié que sur la machine elle-même, et les données vivent dans le dossier data, facile à sauvegarder. Lancez et surveillez le service depuis ce dossier :
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs -f
Ouvrez http://localhost:3001. Pour l'atteindre depuis un autre appareil du réseau local, remplacez 127.0.0.1 par l'adresse locale de la machine, puis relancez docker compose up -d.
Ce que l'on peut héberger
Un petit homelab peut accueillir un DNS local, Home Assistant, Vaultwarden, Immich, Jellyfin, Forgejo, une base de données, un monitoring ou un VPN. Un homelab orienté IA ajoute Ollama, Open WebUI, ComfyUI, un serveur d'embeddings et des agents.
Ces services n'ont pas tous les mêmes exigences. Un DNS doit être très disponible. Une génération d'image peut attendre. Une bibliothèque photo exige des sauvegardes solides. Séparez les priorités avant de tout placer sur la même machine.
Réseau, accès distant et sécurité
Le réseau local permet d'utiliser un service depuis plusieurs appareils. Un reverse proxy donne des noms clairs et peut terminer HTTPS. Tailscale ou WireGuard créent un accès distant chiffré sans exposer directement chaque service sur Internet.
Stockage et sauvegardes
Le RAID et ZFS améliorent la continuité ou l'intégrité, mais ne remplacent pas une sauvegarde. Une suppression, un ransomware ou une erreur logique peut se propager à toutes les copies du volume.
Une stratégie simple conserve les données importantes sur le serveur, une seconde copie sur un support différent et une copie hors site pour l'irremplaçable. Testez la restauration, pas seulement la création du fichier de sauvegarde.
Trois tailles réalistes
Petit homelab
Mini-PC, SSD et NAS existant. Silencieux, sobre, idéal pour apprendre les services.
Homelab IA intermédiaire
Mini-PC de contrôle, workstation GPU et NAS. Les rôles sont séparés sans multiplier les serveurs.
Serveur IA puissant
GPU, alimentation et refroidissement dédiés. Plus de capacité, mais bruit, coût et maintenance élevés.
L’essentiel
- Un homelab est un laboratoire personnel : on y teste, casse, restaure et documente.
- Les briques s'empilent : machine, Linux, containers ou VM, services, réseau, stockage, sauvegardes.
- Un container partage le noyau de l'hôte ; une VM embarque son propre système, plus isolé mais plus lourd.
- Commencez par une machine et un service utile, avec des ports publiés seulement en local.
- RAID et ZFS ne remplacent pas une sauvegarde testée.
Testez-vous
Répondez de tête ou par écrit, puis vérifiez. Se tester juste après la lecture aide à retenir.
Quelle différence entre un container et une machine virtuelle ?
Voir la réponse
Le container partage le noyau Linux de l'hôte : il démarre vite et consomme peu. La VM possède son propre système d'exploitation : elle isole davantage, au prix de plus de ressources.
Pourquoi le RAID ne remplace-t-il pas une sauvegarde ?
Voir la réponse
Une suppression, un ransomware ou une erreur logique se propage à tous les disques du volume. Seule une copie séparée permet de revenir en arrière.
Comment accéder à un service de chez soi à distance sans ouvrir de port public ?
Voir la réponse
Avec un VPN comme WireGuard ou Tailscale, qui crée un accès chiffré au réseau local sans exposer chaque service sur Internet.
Sources et pour aller plus loin
- Installer Docker Engine : la procédure officielle par distribution.
- Documentation de Docker Compose : décrire et lancer plusieurs services.
- Uptime Kuma : le service de surveillance utilisé dans l'exemple.
- Documentation de Tailscale : l'accès distant chiffré sans ouvrir de port.