Un homelab n'est pas qu'un ensemble de serveurs qui clignotent dans un coin de la maison — c'est un banc d'essai vivant, un système de production personnel et un excellent moyen d'apprendre l'infrastructure réseau, la sécurité et l'administration système.
Dans cet article, je présente l'architecture actuelle de mon homelab, conçue en pensant à la sécurité périmétrique, la haute disponibilité des services et la gestion centralisée des identités.
flowchart TD
classDef internet fill:#f9f9f9,stroke:#333,stroke-width:2px;
classDef vps fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef lan fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;
classDef security fill:#fff3e0,stroke:#ef6c00,stroke-width:2px;
classDef apps fill:#e3f2fd,stroke:#1565c0,stroke-width:2px;
classDef storage fill:#eceff1,stroke:#37474f,stroke-width:2px;
classDef proxmox fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px;
subgraph Internet [Internet]
ExtNet([Utilisateur Internet])
end
subgraph VPS [VPS Externe]
ExtNPM[NGINX Externe]
end
subgraph Proxmox [Proxmox VE — Bare Metal]
subgraph LAN [Couche Réseau]
Router["pfSense (VM)"]
IntNPM["NGINX Interne (LXC)"]
Dashy["Tableau de bord Dashy (LXC)"]
end
subgraph Security [Couche Sécurité]
Authentik["Authentik SSO (LXC)"]
AD["Samba 4 AD DC (VM)"]
Vault["Vault (LXC)"]
end
subgraph Apps [Couche Applications]
HomeAssistant["Home Assistant (LXC)"]
Nextcloud["Nextcloud (LXC)"]
Vaultwarden["Vaultwarden (LXC)"]
Joplin["Joplin (LXC)"]
Forgejo["Forgejo (LXC)"]
end
subgraph Storage [Couche Stockage]
TrueNAS[("TrueNAS ZFS (VM)")]
end
end
ExtNet --> ExtNPM
ExtNPM --> Router
Router --> IntNPM
IntNPM --> Dashy
IntNPM --> Authentik
Authentik --> AD
Authentik --> Vault
IntNPM --> HomeAssistant
IntNPM --> Nextcloud
IntNPM --> Vaultwarden
IntNPM --> Joplin
IntNPM --> Forgejo
HomeAssistant --> TrueNAS
Nextcloud --> TrueNAS
Vaultwarden --> TrueNAS
Joplin --> TrueNAS
Forgejo --> TrueNAS
class ExtNet internet;
class ExtNPM vps;
class Router,IntNPM,Dashy lan;
class Authentik,AD,Vault security;
class HomeAssistant,Nextcloud,Vaultwarden,Joplin,Forgejo apps;
class TrueNAS storage;
1. Périmètre et accès externe
Pour éviter d'exposer directement mon réseau domestique à Internet et protéger l'adresse IP de ma maison, j'utilise une approche basée sur un serveur privé virtuel externe qui fait office de bouclier.
2. Plateforme de virtualisation
Tous les services du lab tournent sur un unique serveur physique géré par Proxmox VE, un hyperviseur de type 1 open-source basé sur Debian. Proxmox permet de faire coexister des conteneurs légers et des machines virtuelles complètes depuis une seule interface web — ce fut le premier grand défi technique à maîtriser.
3. Réseau local et couche d'accès
Une fois dans le réseau local, le trafic passe par un système structuré en couches logiques distinctes :
4. Identité et sécurité
C'est la partie techniquement la plus exigeante du homelab, nécessitant une connaissance approfondie de plusieurs systèmes interdépendants. Faire fonctionner SSO, Active Directory et la gestion des secrets de manière coordonnée a représenté un apprentissage conséquent.
5. Couche applicative
Les services du quotidien couvrant la productivité, la domotique et le stockage personnel :
6. Couche de stockage
La fondation physique et de sauvegarde de l'ensemble du système :
Cette architecture me permet de profiter des avantages du cloud public (accès distant sécurisé depuis n'importe où) tout en gardant le contrôle total de mes données à la maison. Maîtriser Proxmox, Samba 4 sur Linux et une pile SSO complète avec OIDC et Forward Auth a transformé le homelab en un véritable environnement d'apprentissage — et le résultat est une infrastructure aussi robuste que celle d'une petite entreprise, au coût d'un homelab.