Cet article est un gros update de l’article de juillet 2020: Avoir son propre serveur chez soi. Gros update en terme de matos et surtout en terme de fonctionnalités. Amoureux de la geekerie, cet article est pour toi!
À l’époque nous étions donc sur un serveur homemade constitué de matériels de récup (pour les détails je te laisse voir l’article de 2020, je ne vais pas tout énumérer ici). En stockage, la plus grosse évolution hardware depuis, j’avais alors 1 x 1 To, 1 x 2 To (ce dernier servant de backup au premier), et 2 x 4 To (un data et un backup). À ce stade je faisais du partage de fichier seulement, en local et distant via OpenVPN, présent dans OMV sous forme de plugin à l’époque.
Et puis j’ai découvert Docker.
Moi pris en photo par ma femme au moment même où j’ai découvert Docker. Oui c’est mon bureau. T’es jaloux?
Docker, la révélation
Je ne vais pas expliquer ici en détails ce qu’est Docker, il y a suffisamment d’infos à trouver sur Internet pour ça. En substance ça permet de lancer des applications dans des conteneurs et de les séparer (ou pas) du système hôte. Ou pas, parce que des passerelles sont possibles. C’est une usine à gaz comme on les aime, il faut être vigilant sur les aspects « sécurité » histoire de ne pas tout laisser en accès libre sur les Internets quand même…
On trouve une foule d’images (les trucs qui servent à déployer les applications) sur Docker Hub. Techniquement tout est faisable, les seules limites sont les limitations hardware du serveur, la bande passante et enfin, le plus important sans doute, les compétences de l’interface chaise / clavier. Question hardware j’étais pas trop mal, la bande passante était dépendante de mon FAI de l’époque (4G box Bouygues) et ne me permettait pas de mettre en place tout ce que je voulais ouvrir sur l’extérieur mais n’impactait pas un usage sur le réseau local, quant aux compétences il est toujours temps de les acquérir.
Pour l’anecdote question bande passante, le bilan de l’offre 4GBox de Bouygues est relativement mitigé. Connexion généralement plus que correcte de minuit à 19h, souvent lamentable de 19h à minuit (souvent inférieure à 1 Mbps et parfois nulle), très probablement à cause du nombre d’utilisateur sur le réseau mobile de Bouygues Télécom. Même pour un usage domestique standard c’était parfois inutilisable. Du coup j’avais bidouillé un truc avec un routeur 4G équipé d’une carte sim Orange liée à mon forfait mobile perso, placé en aval de la box de BT. En cas de coupure de la connexion BT la bascule se faisait seule sur la connexion Orange, j’avais ajouté une prise connectée qui me permettait de forcer la bascule en coupant l’alim de la box BT si besoin si la bande passante mesurée était inférieure à un certain seuil. Du coup on avait constamment une bande passante correcte, mais la connexion Orange ne permettait pas de toper le serveur de l’extérieur… Le passage à la fibre fin 2022 a été libératoire sur cet aspect.
À moi le datacenter at home
Les perspectives étaient donc illimitées. Je voulais de la synchro partout entre tous les appareils de la maison, un cloud perso, un serveur multimédia, une galerie photos, de la domotique, le tout utilisable de l’extérieur. Au fil du temps j’ai donc déployé les services suivants:
- HomeAssistant pour la domotique, accompagné de Zigbee2MQTT et Mosquitto pour une meilleure intégration des périphériques
- Syncthing pour la synchro des données entre les ordinateurs, les smartphones, etc
- Plex pour les vidéos et les photos
- Nextcloud pour le cloud perso
- Paperless pour l’archivage de documents
- ChangeDetection pur surveiller des potentiels changements sur des sites web
- Rustdesk pour la prise de contrôle à distance des différents appareils de la maison
- Traefik, un reverse DNS pour rediriger sur tel ou tel service en fonction de l’url
J’ai bien pensé à faire de l’hébergement de site web et monter mon propre serveur mail, mais j’ai renoncé pour trois raisons:
- la disponibilité pas optimale: on peut être sujets aux coupures internet et de courant, même si ces dernières sont plus rares depuis 3 ou 4 ans et que le serveur est sur onduleur, donc pas sujet à micro-coupures
- la sécurité: les services exposés jusque là sont confidentiels, ce qui ne serait plus le cas pour un hébergement web ou mail. De fait les tentatives d’attaques sont donc limitées. J’ai déjà suffisamment d’alertes pour des tentatives de connexion sur le serveur SSH (entre 50 et 100 par jour, merci fail2ban…), je ne vais pas me compliquer la vie avec d’autres services qui offriront une surface d’attaque bien plus étendue
- Les mails envoyés par un serveur auto-hébergé ont fâcheusement tendance à se faire bouler par les filtres anti-spam des gros fournisseurs de mail (google, microsoft, etc). Le but n’étant pas de finir dans les spambox, on va laisser ça de côté pour l’instant
Bref… Et question matos?
Et bien essentiellement du stockage! J’ai ajouté des disques durs de 4 To (toujours achetés d’occasion) pour monter un raid 6 de 10 To, un disque de 10 To monté dans un rack qui sert uniquement de backup (on a jamais trop de backup). Raid 6 parce qu’il permet la perte de 2 disques sans perte de données. Pour pouvoir connecter tous ces disque durs (8 en tout: 5 pour le stockage, 1 ssd pour l’OS, 1 dd pour les conteneurs Docker, 1 dd pour le backup du stockage) j’ai installé une carte contrôleur SATA. Pour loger tout ce monde j’ai investi dans un boîtier géant trouvé sur leboncoin, un Corsair Obsidian 900D.
La fibre
Fin 2022 on a enfin eu la fibre. J’ai pris chez Orange. Débit descendant 1,8 Gbps, 750 Mbps en remontant. Livebox 6 dans un premier temps. Pour le détail la Livebox 6 ne permettait pas de disposer des 2 Gbps (max) de la connexion fibre sur un seul de ses ports ethernet (bien qu’équipée d’un port ethernet 2.5 Gbps de mémoire). J’ai eu l’opportunité de passer à la Livebox 7 il y a quelques mois, celle-ci dispose d’un port ethernet 10 Gbps et permet de faire passer l’intégralité de la bande passante sur ce port.
J’ai gardé un modem / routeur 4G avec une puce orange dedans pour un backup de la connexion fibre, mais je dois avouer qu’il n’a pas servi une seule fois en 2 ans. De toute façon cette connexion ne permettant pas de joindre les services de l’extérieur à cause du CGN utilisé sur le réseau Orange elle est là uniquement pour maintenir une connexion pour un usage internet classique à l’intérieur de la maison.
Le réseau
Actuellement mon réseau étant intégralement en ethernet 1Gbps, il ne me permet pas d’exploiter cette bande passante. J’ai prévu du changement sur ce point, ça fera l’objet d’un prochain article.