Homelab

Mon homelab, c'est un vieux PC portable recyclé en serveur qui tourne 24/7 et héberge tous les services que j'utilise au quotidien. L'objectif : apprendre en faisant, garder la main sur mes données, et avoir un terrain de jeu pour expérimenter.

Le matériel

Rien d'extravagant : un ancien laptop reconverti.

ComposantSpec
TypePC portable (recyclé)
RAM16 Go
Stockage250 Go SSD
OSProxmox VE

Un seul serveur, pas de NAS, pas de RAID. Simple et suffisant pour mes besoins actuels.

Architecture

Proxmox virtualise tout. L'infra se découpe en trois briques :

VM / ConteneurRôleType
LXC WireGuardTunnel VPN pour sécuriser les accès distantsConteneur LXC
VM WebserverDocker + Traefik, héberge tous les services webMachine virtuelle
VM MinecraftServeur Minecraft dédiéMachine virtuelle

Schéma réseau

    graph TD
    Internet["🌐 Internet"]
    CF["☁️ Cloudflare DNS"]
    Router["🔌 Box / Routeur"]

    subgraph proxmox["Proxmox VE"]
        direction TB
        LXC_WG["🔒 LXC — WireGuard"]

        subgraph vm_web["VM Webserver"]
            direction TB
            Traefik["🔀 Traefik
Reverse Proxy"] Dockhand["🐳 Dockhand
Orchestration"] subgraph containers["Conteneurs Docker"] Blog["📝 Site Web"] Vault["🔐 Vaultwarden"] Outline["📄 Outline"] Sonar["📊 SonarQube"] Autres["📦 Autres services"] end end VM_MC["🎮 VM — Minecraft"] end Internet -->|"Requête HTTPS"| CF CF -->|"DNS résolu"| Router Router -->|"Port forwarding"| Traefik Traefik -->|"Route par domaine"| containers Internet -->|"Connexion joueurs"| Router Router -->|"Port 25565"| VM_MC LXC_WG -.->|"Accès distant sécurisé"| proxmox

La stack en détail

Proxmox VE

Proxmox gère la virtualisation. Il permet d'isoler les services dans des VMs et conteneurs LXC, et de tout administrer depuis une interface web.

WireGuard tourne dans un conteneur LXC plutôt qu'une VM complète — c'est plus léger et largement suffisant pour un tunnel VPN. Il me permet d'accéder à tous mes services internes depuis n'importe où, comme si j'étais sur mon réseau local.

Traefik — le reverse proxy

Traefik est le point d'entrée de tous les services web. Il :

  • Route les requêtes vers le bon conteneur Docker en fonction du nom de domaine
  • Gère les certificats TLS automatiquement via Let's Encrypt
  • S'intègre nativement avec Docker : il détecte les nouveaux conteneurs et crée les routes automatiquement grâce aux labels

Couplé à Cloudflare DNS, les sous-domaines pointent vers mon IP et Traefik dispatche le trafic.

Dockhand — l'orchestration

Dockhand orchestre les conteneurs Docker sur la VM Webserver. Il simplifie le déploiement et la gestion de l'ensemble des services.

Les services

ServiceUsage
Blog / ZolaCe blog, hébergé en selfhost
VaultwardenGestionnaire de mots de passe (compatible Bitwarden)
OutlineWiki / base de connaissances
SonarQubeAnalyse de qualité de code
DockhandInterface d'orchestration Docker
FossFlowSite web de création diagramme réseau

Réseau et exposition

Tout tourne sur le même réseau local, pas de VLAN pour l'instant.

Le flux pour accéder à un service depuis Internet :

  1. L'utilisateur tape service.domaine.tld
  2. Cloudflare DNS résout le domaine vers mon IP publique
  3. Le routeur forward le port 443 vers Traefik
  4. Traefik lit le header Host et route vers le bon conteneur Docker
  5. Le service répond à travers la chaîne inverse

Les services internes restent accessibles uniquement depuis le réseau local ou via WireGuard.

Ce qui manque (pour l'instant)

  • Backups — Pas encore en place. Prévu : snapshots Proxmox + sauvegarde des volumes Docker
  • Monitoring — Aucune supervision. Uptime Kuma ou Grafana/Prometheus sont possible.
  • RAID / NAS — Un seul disque, pas de redondance. Un NAS dédié serait le bienvenu.
  • Segmentation réseau — Tout est sur le même réseau. Des VLANs isoleraient mieux les services exposés

Ce que ça m'apporte

Ce homelab est autant un outil du quotidien qu'un labo d'apprentissage. Je l'utilise tous les jours (mots de passe, wiki, code quality) et chaque ajout est l'occasion de creuser un sujet : réseau, sécurité, conteneurisation, CI/CD.

Le principe : si un service peut tourner chez moi, il tourne chez moi.