1. Introduction
Mon homelab sert à apprendre, tester des architectures, héberger des services personnels et fournir un
environnement de développement proche de la production. Il combine matériel physique (rack / serveurs / switchs),
virtualisation (Proxmox) et une collection de services conteneurisés.
Pour des raisons de sécurité, certaines informations ont été modifiées ou généralisées. Les schémas et descriptions ne reflètent donc pas exactement la configuration réelle de mon homelab.
2. Materiel & Infrastructure physique
Liste synthétique du matériel principal et de l’infrastructure physique.
- Serveurs : 1 serveur Proxmox (3 VMs), un laptop et 2 Raspberry pi
- Switchs : 3 switchs manageables
- Routeurs / Firewall : 1 Ubiquiti ER-X
- Périphériques : imprimante classique, imprimante 3D, équipements IoT
Photo du rack / armoire serveur (non contractuelle).
3. Réseau
Mon homelab repose sur une architecture réseau segmentée afin d’isoler les usages et renforcer la sécurité.
Plusieurs VLAN sont utilisés pour séparer les environnements (production, développement, IoT, invités, etc.), avec un pare-feu configuré pour limiter la communication entre les segments.
L’accès distant est sécurisé via un VPN et des tunnels sécurisés, ce qui permet de gérer les services à distance tout en minimisant l’exposition directe sur Internet.
Un DNS interne facilite la résolution des noms locaux, tandis qu’un DNS public gère les services accessibles depuis l’extérieur. Les certificats SSL sont déployés automatiquement pour garantir un chiffrement bout-à-bout.
Vue d’ensemble : matériel, réseau et services (non contractuelle).
4. Virtualisation & VMs (Proxmox)
Mon homelab repose sur une infrastructure virtualisée avec Proxmox. J’y héberge plusieurs machines virtuelles, chacune ayant un rôle bien défini :
- VM Développement : environnement dédié à la gestion et au déploiement d’applications en phase de test.
- VM Production : héberge les applications stables et opérationnels.
- VM Multi-services : regroupe certains outils et applications utilitaires.
5. Services hébergés
Mon homelab héberge une série de services couvrant le développement, l'administration, la sécurité et des usages personnels. Le déploiement est principalement réalisé via Docker Compose, la supervision et la gestion des conteneurs se fait avec Portainer, et le routage/gestion des certificats https est centralisé via Traefik.
Remarque : les descriptions et illustrations ci-dessous sont à visée pédagogique. Certains détails ont été généralisés pour préserver la sécurité de l’infrastructure.
Exemples de services hébergés (par catégorie)
Administration & supervision
- Portainer — interface de gestion des containers et supervision rapide.
- Traefik — reverse proxy et gestion automatique des certificats TLS.
- Uptime-Kuma — monitoring de disponibilité des services.
- Homepage — dashboard interne centralisant les accès aux services.
Sécurité & identité
- Authentik — gestion des accès / SSO pour centraliser les authentifications.
- Bitwarden — coffre de mots de passe auto-hébergé.
- Pi-hole & CoreDNS — filtres DNS et résolution interne.
- Cloudflared — tunnel sécurisé pour exposer certains services sans ouvrir directement de ports publics.
Développement & CI
- GitLab — dépôt de code et gestion des projets.
- GitLab Runner — exécution des jobs CI pour builds/tests.
- Slash — petit service de redirection d’URL personnalisé.
Surveillance & notifications
- ntfy — système de notifications push simple et léger.
- Uptime-Kuma (déjà cité) — monitoring et alerting.
Perso & loisirs
- OctoPrint — interface pour piloter l’imprimante 3D.
- Serveur Minecraft — serveur privé pour tests / usage personnel.
Dashboard gethomepage.dev.
L’ensemble est pensé pour être modulaire et reproductible : chaque service peut être démarré/arrêté ou répliqué via des fichiers
docker-compose.yml bien documentés, ce qui facilite les tests, mises à jour et migrations.
6. Versions & évolution
Version 1 (V1) :
Cette première version tourne depuis environ un an. Elle m’a permis de construire une base stable et fonctionnelle, d’expérimenter la virtualisation, le déploiement de services, et la gestion réseau à petite échelle.
Version 2 (V2) :
En cours de préparation, cette nouvelle version vise à améliorer la modularité, la scalabilité, et à intégrer des fonctionnalités supplémentaires adaptées à mes besoins actuels et futurs.
La V2 est pensée pour répondre aux limites identifiées dans la V1, tout en restant fidèle à la philosophie modulaire et reproductible de l’ensemble.
7. Objectifs futurs
Mon homelab est un projet évolutif. Voici quelques pistes que je souhaite explorer pour les prochaines évolutions :
- Améliorer la scalabilité en envisageant un cluster Proxmox ou en ajoutant des ressources matérielles.
- Automatiser davantage les déploiements, sauvegardes et mises à jour.
- Renforcer la sécurité avec la mise en place d’une DMZ, d’un IDS/IPS et de règles firewall avancées.
- Mettre en place un NAS performant avec des solutions de sauvegarde automatique et de snapshots.
- Explorer de nouvelles technologies comme Kubernetes, les services serverless, ou la virtualisation légère.
- Optimiser la consommation énergétique et mettre en place un monitoring dédié.
- Améliorer la documentation.