Construire un homelab fiable : du Raspberry Pi à un serveur complet
Un ingénieur en données basé à Moscou a transformé ses connaissances de base en Linux en un homelab fonctionnel en deux ans. En commençant par un Raspberry Pi 5 et un SSD de 1 To via des partages SMB, il a progressivement évolué vers un NAS multi-disques, puis migré vers un Intel Core i7-13700 pour les charges intensives. Cette transition lui a permis d'héberger localement des services essentiels, réduisant sa dépendance aux fournisseurs cloud.
La configuration initiale du Raspberry Pi 5 incluait un connecteur SATA pour quatre SSDs. Toutefois, les limites du système — mauvaise transcoding HEVC 4K, mémoire RAM insuffisante et cartes SD instables pour le stockage de bases de données — ont rendu nécessaire une refonte majeure.
Nouvelle configuration :
- CPU : Intel Core i7-13700 (LGA1700)
- Carte mère : Asus ROG STRIX B760-I GAMING WIFI (mini-ITX)
- RAM : 32 Go DDR5 Kingston 5600 MHz
- SSD : Adata LEGEND 860 1 To PCIe 4.0
- Boîtier : Jonsbo N3 avec 8 baies HDD à changement chaud
- Alimentation : 750W 80+ Platinum
Système d'exploitation : Fedora sans interface graphique. Automatisation via scripts bash, timers systemd, zsh avec Oh My Zsh et Powerlevel10k. Tous les services tournent dans des conteneurs Docker gérés par Portainer.
Stack des services auto-hébergés
Les applications déployées couvrent des cas d'utilisation essentiels :
- Jellyfin : diffusion de médias avec transcoding
- Navidrome : serveur de musique
- filebrowser-quantum : gestionnaire de fichiers (14 To de stockage)
- Immich : sauvegarde photo et vidéo auto-hébergée
- mscmanager : panneau de contrôle pour Minecraft et Terraria
- Transmission : client torrent
- Vaultwarden : gestionnaire de mots de passe avec support des clés SSH
- dnsmasq : DNS local pour rediriger les domaines
- Home Assistant : gestion des appareils IoT
- Termix : gestionnaire SSH
- WireGuard : accès VPN sécurisé
- Nginx : reverse proxy (migration prévue vers Caddy avec ACME)
Architecture réseau et accessibilité
L'architecture réseau garantit une connexion stable, que ce soit localement ou à distance :
- Un domaine sur Cloudflare pointe vers l'IP statique du routeur (192.168.0.1).
- Le port 443 est redirigé vers le routeur interne (192.168.2.1, OpenWRT avec Xray).
- Le reverse proxy sur le serveur (192.168.2.10) route le trafic selon le sous-domaine (ex. : immich:2283).
- Un dnsmasq local en Docker redirige les noms de domaine vers les IP internes ; les résolveurs upstream sont 1.1.1.1 et 8.8.8.8.
- Le DHCP du routeur attribue automatiquement le DNS local à tous les clients.
Le pare-feu bloque tout accès externe aux ports locaux, sauf localhost. Ainsi, même en cas de coupure d’Internet, les domaines restent accessibles localement à la maison.
Sauvegardes et tolérance aux pannes
Pas de RAID : cinq copies des données réparties sur trois emplacements, via des scripts rsync déclenchés par des timers systemd. Les scripts surveillent les modifications dans /etc et d'autres répertoires, y compris les configurations dynamiques. L'intégration Git est prévue.
Apprentissage fondamental du réseau : modèle OSI, VLANs, commutateurs gérés. LazyVim pour l'édition, commandes CLI avancées pour le contrôle système.
Points clés
- Passer du RPi à x86 résout les goulets d’étranglement de performance sans compromis.
- Docker + Portainer simplifie le déploiement et la surveillance des stacks auto-hébergées.
- Le DNS local + reverse proxy permet un accès fluide, que ce soit à la maison ou à distance.
- Les scripts bash et systemd automatisent les sauvegardes, minimisant les risques de perte de données.
- L’hébergement local réduit la dépendance aux services externes en cas de stabilité réseau instable.
Cette infrastructure convient aux professionnels de niveau intermédiaire à avancé souhaitant un contrôle total sur leurs données et services.
— Editorial Team
Aucun commentaire pour le moment.