Bonjour !

L’année dernière, j’ai réussi à quitter Google et j’ai rejoint Infomaniak pour les mails et le drive partagé. Je suis assez content de ce déménagement mais ça n’a pas résolu mon usage de certains autres logiciels (Spotify et Notion notamment).

Infomaniak ne pouvant pas répondre à ces besoins, je me suis mis en quête de logiciels à héberger sur mon NAS Synology. Hélas, je n’ai rien trouvé de suffisamment léger pour s’exécuter rapidement sur mon petit NAS.

J’ai un profil pas trop geek : Je ne suis pas développeur, ni administrateur réseau. Mais j’utilise plusieurs machines au quotidien (un pc fixe, un pc portable, un NAS) et j’aime bien récupérer du matériel informatique pour bricoler. Bref, sans être un pro du secteur, je suis pas non plus totalement novice. Je détaille ici la mise en place de mon “mini cloud” personnel, car je pense que mon profil, plutôt monsieur tout le monde, peut montrer à des gens au profil similaire que ce projet reste accessible.

J’ai donc décidé le mois dernier de monter mon serveur maison pour répondre à mes besoins : Le drive partagé (je tiens à garder des docs modifiables à plusieurs), un notion-like et un spotify-like. Je suis resté chez Infomaniak pour les mails car ça me semble trop dangereux de rapatrier le serveur mail chez moi, si jamais j’ai une panne.

Concernant le matériel, j’ai commencé par opter pour une infrastructure avec des Raspberrys, et en réutilisant les disques des mon NAS. J’avais 2 Raspberrys pi dans un tiroir et des lecteurs USB-SATA. Je voulais un serveur principal sur lequel sont exécutés les logiciels et un second chez un ami qui duplique en permanence le contenu du premier en cas de problème.

Hélas je n’ai pas réussi à résoudre un gros problème : Malgré l’alim officiel Raspberry (5A en 5V) et une alim dédiée pour le lecteur de disque, le lecteur de disque SATA se déconnectait du Raspberry et faisait planter les logiciels. Après des heures de recherches, j’ai capitulé.

Et récemment, en allant à la déchetterie, je suis tombé sur un PC gamer dans une benne. Je l’ai récupéré et tout était mort (ou absent) sauf l’alimentation de 500W. Je me suis donc mis en quête de monter un PC en dépensant peu. Vu que j’ai tendance à garder pleins de trucs, j’avais quelques composants en stock, notamment une carte mère qu’un ami qui avait monté un ordi dans son entreprise m’avait donné car l’emplacement PCI express était en panne, deux barrettes de RAM de 8Go et un petit SSD M2 de 64Go trouvé en braderie cette année. Il me manquait le processeur que j’ai acheté 30€ sur Leboncoin (un Ryzen 5 pas si vieux).

Et voilà, j’ai pu monter un vrai PC et y brancher mes disques durs directement en SATA.

Pour le PC de backup, j’ai utilisé un PC Dell d’entreprise de 2002 (il a 2go de RAM et un Intel Pentium 4) que j’avais récupéré également dans une benne quand j’étais au lycée (et qui attendait depuis 13 ans dans le grenier de mes parents). Ce PC a beau avoir 25 ans, il a quand même du SATA et a reconnu le gros disque dur.

Le serveur principal

Le PC de 2002

Pour les OS, j’ai installé Ubuntu Server 26.04 sur le serveur principal et Debian 12 en 32 bits sur le serveur de backup car il a une architecture 32 bits (il est vraiment très vieux 😅 ).

J’ai découvert comment utiliser un ordinateur en ligne de commande. Ça m’a pris plusieurs semaines avant de retenir les commandes les plus courantes, mais c’est cool. Maintenant je n’ai plus trop besoin de me référer à mon mémo que je m’étais fait pour utiliser les ordis.

Et j’ai donc installé Docker (et docker compose). Ce logiciel est assez étrange pour moi (ce n’est ni un émulateur, ni un launcher) et je suis très content d’avoir découvert ce site qui m’a permis d’y voir plus clair et apprendre les bonnes pratiques. Si vous ne savez pas ce qu’est Docker, voici une explication.

Ensuite, au sein de Docker, j’ai installé ces logiciels :

  • Nextcloud : Un logiciel de drive très complet
  • Collabora Online : La suite bureautique qui s’intègre dans Nextcloud
  • Immich : Une photothèque qui ressemble beaucoup à Google Photos
  • Docmost : Notion-like mais sans les bases de données (hélas)
  • Navidrome : Une bibliothèque pour la musique
    • Note : Pour écouter la musique, j’utilise Symphonium depuis mon téléphone et Feishin depuis mon ordi
  • Nginx Proxy Manager : Ce logiciel permet de passer d’une IP à une URL. J’ai utilisé un nom de domaine que j’avais chez Infomaniak pour lier l’IP et les ports des logiciels vers des sous domaines (exemple : drive.pierrevlg.fr). C’est super pratique et plus simple à utiliser par mes proches que de leur dire qu’ils doivent installer un client VPN pour accéder aux services.
  • MiniDLNA : Ce logiciel permet au lecteur CD de mon salon d’accéder à la musique depuis le réseau local.
  • Syncthing : C’est le logiciel de backup que j’ai installé sur les deux serveurs pour backuper en permanence les données. A noter que Docker n’est pas dispo en 32 bits donc impossible à installer sur le PC de backup. Mais Syncthing existe en 32bits et j’ai pu l’installer directement sur l’OS.
  • Termix : C’est un logiciel pour accéder à distance en SSH aux différents ordis.

Au sein de Ubuntu, j’ai également installé SMB pour accéder aux fichiers depuis le réseau local.

Concernant la musique : Évidemment, pour garnir ma bibliothèque, j’ai un peu galéré. Voici mon processus : J’ai extrait tous mes CD avec Whipper en FLAC. Whipper annote automatiquement les fichiers pour qu’ils aient une pochette et les bonnes métadonnées. Maintenant que j’ai extrait tous mes CD, soit j’achète ma musique sur Bandcamp soit j’extraie les CD de mes amis.

Si ça intéresse des gens, je peux détailler certains aspects de cette mise en place (configuration du reverse proxy Nginx Proxy Manager avec Infomaniak, configuration de Syncthing pour que ça backup bien tous les disques comme il faut etc).

Le bilan

Ca marche super bien. Les deux PC sont très stables, même lorsque toute la famille est en train d’utiliser les différents services. Je suis très content d’avoir pu exploiter tout ce matériel d’occasion. Notamment le vieux PC de 2002 que je n’imaginais pas pouvoir utiliser un jour.

Étant néophyte de Linux, la mise en place de ces logiciels sur un serveur a été vraiment compliquée. Lorsque les raspberrys crashaient, j’ai failli capituler. En plus, apprendre à utiliser un ordi en ligne de commande via SSH, éditer un .yaml sans faire d’erreur, apprendre à utiliser Linux en fait, c’est vraiment dur, il faut s’accrocher. Mais c’est pas insurmontable et c’est satisfaisant d’y arriver. Et c’est cool de comprendre un peu mieux ce pan de l’informatique que j’avais toujours regardé en me disant que c’était trop geek pour moi. Je pense que j’ai passé 5 ou 6 jours cumulés à mettre tout ça en place. Mais si je devais le refaire, maintenant que je comprends un peu mieux comment marche tout ça, je pense que ça me prendrait une journée.

Et l’argent : Monter son propre serveur n’est pas économique, mais ça va encore.

Spotify Famille + le drive Infomaniak coute environ 280€ par an. C’est à peu près les seules dépenses que j’avais.

Ici, j’ai limité les frais en récupérant du matériel. Si j’avais du payer le matériel, voici grosso modo ce que ça aurait pu couter :

  • Serveur principal (Ryzen 5, 16go de ram) : 500€
  • Serveur de backup : 100€
  • Disques durs : 300€

Et concernant les frais de fonctionnement :

  • Nom de domaine : 10€ par an
  • Électricité : 50€ par an

La première année, cette infrastructure aurait pu couter 960€. Puis 60€ les années suivantes. Il aurait donc fallu attendre 5 ans pour que ça devienne plus rentable que Spotify/Infomaniak. En vrai ça va, d’autant que le serveur peut héberger d’autres services normalement payant.

Dans mon cas, vu que j’ai récupéré pas mal de matériel, ça me coute donc 90€ cette année (30€ pour le processeur que j’ai acheté, 50€ pour l’électricité et 10€ pour le nom de domaine) et ça me coutera 60€ les années suivantes.

Après, il est possible de soutenir les logiciels qu’on apprécie en faisant des dons, ce qui augmente les dépenses. Et il faut aussi compter l’achat des musiques sur Bandcamp, Discogs etc.

Et l’écologie : J’imagine qu’il est compliqué de comparer cet usage “cloud” à celui que nous aurions pu avoir avec les services du commerce. Les économies d’échelle des hébergeurs de données rendent probablement le cout énergétique par utilisateur assez faible. D’autant qu’Infomaniak redistribue la chaleur générée par ses datacenters pour chauffer des logements. De même, même si les hébergeurs changent régulièrement le matériel, cet impact doit être faible ramené à l’utilisateur.

Je pense que l’impact écologique de mon “mini cloud” est donc minime face à l’usage que nous avions quand nous étions chez Spotify, Infomaniak et Notion. Néanmoins, je peux quand même en partie quantifier l’impact de mon infrastructure :

  • Niveau matériel : Tout le matériel est d’occasion voire devait finir à la benne (sauf les disques durs qui proviennent de mon ancien NAS). D’ailleurs, ce NAS n’a pas terminé sa vie. Je lui ai mis 4 disques durs de 2to que j’avais récupéré (pour 4to effectifs en RAID) et il sert de stockage pour l’administratif du restaurant d’une amie.
  • Niveau électricité, l’ensemble de ma “baie informatique” (box Internet, switch ethernet et le serveur) consomme moins de 8000 Wh sur une semaine classique, soit moins de 400 kWh par an. Le serveur de backup consomme moins de 3000 Wh en moyenne sur une semaine, soit moins de 200 kWh par an. Je trouve que c’est une consommation électrique assez sobre, d’autant que nous sommes 8 à utiliser le serveur (ma famille et des amis).

Maintenant l’objectif est de faire tenir cette petite infrastructure le plus longtemps possible. Et ma volonté, maintenant que tout est en place et tourne sans problème, est d’y allouer le moins de temps possible. J’ai documenté tout ce que j’ai fait et j’ai noté toutes les manips et commandes à faire pour mettre à jour les logiciels. Je pense donc aller voir si tout va bien et mettre à jour si besoin une fois tous les 2 mois.

La suite : Je suis à l’affut d’un système d’onduleur avec batterie d’occasion (j’ai déjà une batterie de moto au plomb qu’il ferait bien l’affaire) pour maintenir une alimentation du serveur en cas de panne de courant. L’idée n’est pas d’assumer une alimentation électrique de plusieurs heures, juste de permettre au serveur de s’éteindre proprement en cas de coupure (et se relancer tout seul une fois le courant revenu).

J’imagine qu’il doit y avoir ici pas mal de personnes qui “self host” déjà leurs logiciels. Mais comme dit au début, je me dis que mon profil pas trop geek peut donner envie à d’autres de passer le pas. J’ai passé plusieurs semaines entre le moment où j’ai commencé et aujourd’hui où je constate que mes serveurs ne nécessitent presque plus de maintenance. C’était long et chiant par moment mais je suis très content.

Bonne journée !

  • one_old_coder@piefed.social
    link
    fedilink
    Français
    arrow-up
    1
    ·
    4 days ago

    Si j’ai bien compris, Syncthing remplace les “drive cloud” comme Google Drive, sauf que ça réplique/synchronise les données pour que tout soit identique partout ?

    • dk58@jlai.lu
      link
      fedilink
      Français
      arrow-up
      1
      ·
      4 days ago

      Syncthing ne fait que synchroniser des répertoires entre différents systèmes (windows, linux, Android). Il le fait très bien avec une interface très intuitive.
      Par exemple, je l’utilise pour synchroniser mes photos Android sur mon PC. Cela risque d’être remis en cause avec les nouvelles restrictions Android :/

      Pour un remplacement de Google drive, je pense que c’est plutôt nextcloud, mais c’est beaucoup plus compliqué à mettre en place.