Mise en Place et Gestion de Serveurs Auto-Hébergés

7 mai 2024

Mise en Place et Gestion de Serveurs Auto-Hébergés

Au cours des deux dernières années, j'ai entrepris un projet ambitieux de mise en place et de gestion de plusieurs serveurs auto-hébergés. Ce projet comprend deux serveurs domotiques, un serveur média et un serveur de fichiers, chacun ayant ses propres défis et solutions. Dans cet article, je vais partager mon expérience, les difficultés rencontrées et les solutions mises en place pour assurer le bon fonctionnement de ces serveurs.

Les Serveurs et Leurs Fonctions

Serveurs Domotiques (Home Assistant)

Les deux serveurs domotiques sont installés dans deux lieux différents et utilisent Home Assistant pour gérer divers aspects de la domotique. Ces serveurs sont hébergés sur des Raspberry Pi avec des images systèmes personnalisées. Home Assistant est une plateforme open-source qui permet de centraliser et de contrôler les différents appareils connectés de la maison, offrant ainsi une solution complète pour l'automatisation domestique. Home Assistant est également le projet open source le plus actif de github en terme de nombre de contributeur. J'utilise ces serveurs pour gérer plus de 150 appareils connectés au total, utilisant de nombreux protocoles de communication tels que : Zigbee, Zwave, Wifi, Bluetooth, Thread ou encore de la radio plus basse fréquence en 433 Mhz et 868 Mhz.

HA Screenshot dashboard
Une capture d'écran du dashboard d'home assistant, un serveur domotique complet pour la gestion de l'énergie et les appareils connectés

Serveur Média (Jellyfin)

Le serveur média, basé sur Jellyfin, est également hébergé sur un Raspberry Pi, mais cette fois en utilisant une instance Docker. Jellyfin est une plateforme de gestion de médias qui permet de stocker, organiser et diffuser des contenus multimédias tels que des films, des séries, de la musique et des photos. Cette solution open-source offre une alternative gratuite et personnalisable aux services de streaming payants.

Serveur de Fichiers (Nextcloud)

Le serveur de fichiers, utilisant Nextcloud, est également installé sur un Raspberry Pi via une instance Docker. Nextcloud est une suite de logiciels de collaboration qui permet de stocker, partager et synchroniser des fichiers, des calendriers, des contacts et bien plus encore. Cette solution open-source offre une alternative sécurisée et personnalisable aux services de cloud propriétaires.

Dashboard Nextcloud
Une image de dossiers sur un dashboard Nextcloud.

Les Défis et Solutions

Gestion des Adresses IP Variables

L'un des principaux défis a été la gestion des adresses IP variables pour l'un des serveurs domotiques qui est hébergé sur un réseaux qui ne permet que l’accès à une addresse IPV6 variable. Pour résoudre ce problème, j'ai créé une intégration avec l'api d'ovh afin de mettre à jour les enregistrements AAAA. De plus j’ai du apprendre de manière approfondie le fonctionnement des pare feux afin de conserver un haut niveau de sécurité sur le réseaux tout en permettant le traffic pour le serveur. Pour les autres serveurs, des règles NAT classiques et un script tiers de DNS dynamique ont été utilisés pour gérer les adresses IPv4.

Certificats SSL et Sécurité

Pour assurer la sécurité des environnements, j'ai mis en place des scripts de renouvellement automatique des certificats SSL pour tous les serveurs. En outre, j'ai configuré un reverse proxy avec Nginx pour contrôler le trafic et ajouté un VPN avec Tailscale pour garantir l'accès en cas de perte de connexion.

Automatisation et Sécurité

Pour le serveur média, j'ai mis en place un système automatisé et sécurisé pour le téléchargement de contenu. Cela inclut des scripts et des configurations spécifiques pour assurer la sécurité et l'efficacité du processus.

Gestion et Maintenance

La gestion des serveurs varie en fonction de leurs besoins spécifiques. Les serveurs Home Assistant nécessitent des mises à jour manuelles pour des raisons de fiabilité de l'installation. En revanche, les autres serveurs bénéficient d'une mise à jour automatisée notamment grâce à Docker, ce qui simplifie grandement leur gestion.

Conclusion

Ces serveurs auto-hébergés ont considérablement amélioré le confort de vie à la maison et permis des automatisations qui ont conduit à des gains de temps, d’argent et d'efficacité énergétique et pratique. Bien que la mise en place et la gestion de ces serveurs aient présenté des défis, les solutions mises en place ont permis de surmonter ces obstacles et d'assurer un fonctionnement optimal.