Selfhosting sur mon HomeLab

Depuis que je suis retraité, j’ai décidé de passer du temps sur des choses qui prennent du temps !

Donc, monter mon homelab sur mon infra selfhosted ! Pourquoi ?

Il s’agit de pouvoir accéder à des services Internet qui sont en sécurité chez moi et non à l’extérieur chez un GAFAM! Par exemple, je voudrais accéder à toutes mes photos et à toutes mes musiques depuis n’importe où MAIS je veux aussi tout garder au chaud chez moi! Pas facile? Si!

1 Le hardware

On commence par ma box Internet : une Freebox Ultra.

2 coeurs ARM dédiés et 2Go de RAM pour créer des (une?) machines virtuelles.

4 prises RJ45 à 2,5Gbits, s’il vous plait!

Un SSD NVME Gen3 de 1 To Lexar NM610PRO.

Puis mon Mini PC : un Aoostar R3 Pro

j’ai beaucoup hésité avant d’acheter mon mini pc, entre les mini pc GMKTec, Beelink, MiniForum, Nipogi, … ou encore des PC format SFF comme les DELL ou Lenovo … Le compromis Performance/Consommation électrique quoi…

Finalement je suis tombé sur cette offre LeBonCoin d’un Aoostar R3 Pro et j’ai cracké…

Il est doté de :

  • un processeur AMD Ryzen 7 5700U 8 coeurs/16 threads, 15watts à peine!
  • 16 Go de RAM DDR4
  • SSD NVME Gen3 de 512 Go
  • deux emplacements disques durs vides
  • 2 prises RJ45 à 2,5Gbits
  • et aussi performant : CpuMark 15.691 en multithread !

2 Le software

La FREEBOX et le MINIPC ont en commun:

Autant vous pouvez connaitre les trois premiers, autant Pangolin est (pour l’instant) presque inconnu! Ca ne va pas durer! Pourquoi?

La difficulté dans le selfhosting c’est de connecter une adresse DNS telle que https://musique.mondomaine.fr à mon mini PC à l’adresse IP 192.168.1.xxx et au port 4040 …

Même à la main et pour quelqu’un qui sait, c’est pas gagné, sachant que, en plus, la freebox protège les ordinateurs de la maison et bloque donc presque tout…

C’est là que pangolin intervient! Il « suffit » de lui dire : connecte moi l’adresse https://musique.mondomaine.fr à mon mini PC à l’adresse IP 192.168.1.xxx et au port 4040 (mon serveur musical) et c’est tout! Ca marche en 10 secondes…

Bon, il faut avoir préparé (une seule fois) l’environnement:

  • demander à la FREEBOX d’ouvrir les ports 80 et 443 vers la machine Debian de la FREEBOX
  • avoir ajouté « *.mondomaine.fr 111.222.333.444 » (l’IP de votre FREEBOX) à votre service DNS (là où vous avez acheté votre domaine quoi)
  • avoir installé debian, docker, portainer et pangolin!

3 Où j’en suis là

Dans pangolin, j’ai décrit les 2 serveurs que j’ai : FREEBOX et MINIPC

Dans Portainer j’ai créé les 2 environnements de containers:

  • « local » c’est pour la FREEBOX
  • « PortAPPS » c’est pour le MINIPC

Puis j’ai créé avec Portainer les services dont je voulais sur la FREEBOX (toujours allumée et connectée)

Et les services sur le MINIPC (pas obligatoirement allumé tout le temps)

Enfin, j’ai dis à pangolin quelles adresses https://… je voulais pour accéder à mes services

Et voilà !!! Le tout protégé par Pangolin aussi ! (sauf Baikal qui se protège tout seul)

4 Quels services

J’ai décidé de mettre sur la FREEBOX que les services peu encombrants (vu les ressources de la FREEBOX) dont j’ai besoin tout le temps, à ce jour:

  • baikal : service CalDAV et CardDav : il s’agit de synchroniser mes contacts et mon calendrier, plus besoin de google…
  • syncthing : service de synchronisation de fichiers entre mon PC Windows et mon smartphone Android, plus besoin de google drive ou onedrive ou Dropbox ou … C’est très pratique pour partager mon coffre de mots de passes KeePass (KeePassXC sur Windows et KeePassDX sur Android) et mes notes Obsidian (sur Windows et sur Android).

Puis je commence à installer des services plus conséquents sur le MINIPC, plus performant:

  • un service LAMP : il s’agit d’un serveur Web Apache/MariaDB/PHP/PHPMyAdmin pour mes petits projets
  • un service Airsonic : il s’agit d’un serveur Musical pour écouter tous mes CD que j’ai transformés en fichiers FLAC.

C’est que le début, je pense aussi ajouter :

Ouf! C’est pas mal pour le Jour 1 non?

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*