4 ans d'auto-hebergement

 · 6 mins read

Le domaine bruno-tatu.com existe depuis 4 ans :

$ whois bruno-tatu.com |grep -i date|head -n2
   Updated Date: 2019-01-01T15:54:00Z
   Creation Date: 2015-01-18T15:27:11Z

Cela fait donc maintenant 4 ans que j’ai des sites qui tournent chez moi et qui sont accessibles sur les Internets.

Au départ ce n’était qu’une page d’accueil avec une petite description sur moi accompagné de liens vers mon twitter et d’une adresse mail de chez SFR. Aujourd’hui c’est une cinquantaine de visites par jour sur mon wiki et une quinzaine sur mon blog.

Je ne souhaite pas attirer, ni accueillir grand monde mais juste des gens intéressés parce que je fais. Ma plateforme est avant tout mon portfolio où je publie, partage, modifie et supprime ce dont je veux.

Parlons de ces premières applications auto-hébergé

Historiquement j’ai commencé par Samba et minidlna pour partager des fichiers vidéo sur le réseau local de la maison. Par la suite, j’ai installé owncloud, Dokuwiki, Awstats, et ainsi de suite. Leurs mises en place étaient très longs car j’avais une phase de tests où je modifiais le plus souvent les fichiers de configurations PHP, Nginx et MySQL.

En effet, j’utilisais à cette époque les premiers RaspberryP et la difficulté que je rencontrais régulièrement est la limitation des capacités matérielles. Je devais donc peaufiner les services pour éviter que ça rame trop et je parle notamment d’owncloud. ;)

Rien que d’y penser, j’en suis nostalgique car il mettait 16 secondes à se charger! Mon conseil : Éviter au maximum l’usage des cartes SD. D’autant plus si vous utilisez une base MySQL qui au bout de quelques mois fera apparaître des corruptions de données et donc des “bugs” coté applicatif.

J’admets qu’a plusieurs reprises j’ai eu l’envie de changer de machine avec quelque chose de plus gros et robuste alors que c’est faux! Pour un usage personnel, ça ne sert à rien d’avoir une machine ayant plus de 4Go de RAM et 4 Cores. Bien entendus tout dépend de ses besoins personnels.

Parlons un peu de la vie privé

Le but de mon serveur est d’installer et de tester diverses applications toujours dans le but d’exclure les outils propriétaires, à durée éphémère et à création sous forme abusive de comptes. Sachant que même Google Drive, Instagram, Github, Gmail, Google analytics, et d’autres sont bien pratiques, mais rien me garantis la qualité de conservation de mes données chez eux même s’ils m’assurent qu’elles doivent être supprimés.

Remarquons que je serais incapable de me souvenir de chaque compte créé sur les différentes plateformes que j’ai convoités…

Parlons des compétences requises

Il est vrai que cela demande du temps pour se documenter, analyser les erreurs, récupérer les bonnes infos qui correspondent à la version du service installé. Au départ c’était long et compliqué parce que je manquais de connaissances. J’ai alors appris en premier lieu le fonctionnement d’une machine, puis appris quelques langages comme le C puis le PHP, HTML, CSS et JavaScript. D’autres se sont ajoutés à mes compétences durant la formation en licence pro ASRALL. Aujourd’hui je m’attaque à de plus grosses infrastructures qui font l’usage d’Haproxy pour répartir la charge sur plusieurs serveurs.

En effet, l’auto-hébergement requière la passion de la bidouille. Je suis également conscient qu’il me reste encore beaucoup à apprendre et j’en conviens que tout le monde ne peut pas se permettre d’héberger ses propres services. C’est pour cela qu’il existe des groupes d’associations appelées “Chaton” tel que TuxFamily ou Marsnet. Ce sont des personnes généralement bénévoles qui mettent la plupart du temps à disposition des néophytes des logiciels alternatifs aux GAFAM.

En général, une fois que l’on y à goûter, on y ressort plus!

Parlons du matos

Par rapport à mes autres articles (je ne parle donc pas de mon NAS et de mes serveurs de tests vu qu’ils n’existent plus), mon infrastructure a évolué plusieurs fois et pour faire simple j’ai commencé sur un RaspberryPI B avec seulement 512Mo de RAM et un seul CPU cadensé à 700Mhz. Puis je suis passé au RaspberryPI 2 (double des performances) et enfin sur un vrai serveur :

  • CM : ASRock T48EM1
  • CPU : AMD G-T48E Processor à 777 Mhz (Max 1,4 Ghz)
  • RAM : 1x 2Go Kingston 1600 MHz DDR3 CAS 11
  • HDD : 3x 3To BarraCuda 2.5” 5400 tpm en RAID5
  • SSD : 1x 120Go KINGSTON W:320Mo/s R:500Mo/s
  • PSU : Cooler Master K450, 450W
  • Case : Kolink Satellite

Ce qui donne ceci physiquement :

Photo du serveur

Le tout m’a coûté dans les 500 euros dans le but que ce matériel dure au minimum une dizaine d’année voir plus si possible. Cependant, ce qui me manque actuellement est l’achat d’une seconde barrette de mémoire car les applications codé en JAVA c’est lourd (putain d’Airsonic…).

Voici les critères que j’ai établie pour choisir ces composants :

  • Le plus compacte possible pour éventuellement le placer dans un meuble TV
  • Disposer d’au moins 5To d’espace disque
  • Coûter le moins cher possible (dans la limite du raisonnable)
  • Du neuf pour être sûr que le matériel va durer longtemps.
  • Un SSD pour éviter les temps de chargement quelque soit l’application.
  • Pas besoin d’un espace de stockage rapide
  • Faible consommation énergétique et nuisance sonore.

Parlons enfin de mes applications

Pour finir, au moment où j’écris ces lignes je vous présente la suite de logiciels que j’utilise régulièrement :

  • Nextcloud (qui a remplacé Owncloud) pour synchroniser et rendre accessible mes documents sur PC et smartphone
  • Dokuwiki pour noter et partager mes connaissances
  • Awstats pour avoir un aperçu des gens qui s’intéressent à mes partages
  • Gitea (qui a remplacé Cgit) pour stocker mes morceaux de codes et projets divers
  • Postfix avec Dovecot et spamassasin pour garder le contrôle de mes mails
  • Airsonic pour écouter de la musique et des podcast n’importe où et n’importe quand
  • Jekyll (qui a remplacé Spip) pour écrire des bêtises sans prise de tête :)
  • Kanboard pour m’aider à m’oganiser et fait aussi office de prise de notes
  • Kresus pour avoir un oeil sur mes dépenses personnel.

J’ai également joué avec Grafana, Goaccess, Prosody, Pastebin, Zerobin, TinyRSS… Probablement que je les pousserais un jour en production.

Il existe de très nombreux articles et projets sur le sujet. Je vous encourage à naviguer sur le web car c’est quand même une belle aventure. :)