Motivations pour un Pleroma auto-hébergé sur Raspberry Pi
Introduction
But et motivations
Mon parcours sur le fédivers
L'exode de twitter suite à l'achat par Elon Musk, a été vu comme massif du côté de Mastodon. En effet, à l'échelle de twitter, ça peut sembler peu, mais du côté de Mastodon, il a fallu digérer une arrivée massive de personnes réparties sur plusieurs instances1.
Le but dans cet article n'est pas de rappeler ce qu'est Mastodon et le fédivers (ou fediverse); si vous avez besoin de voir de quoi il retourne, vous pouvez lire cet article.
En ce qui me concerne, exceptionnellement depuis 1 mois, j'ai du changer 2 fois d'instance pour que mon expérience sur le fédivers reste relativement fluide, alors que depuis 2017, j'utilisais régulièrement le réseau depuis la plus grosse instance, mastodon.social, sans jamais avoir vraiment eu trop de soucis jusqu'à présent. Utiliser une très grosse instance n'est en général pas conseillé, car cela va à l'encontre du principe de distribution des ressources de la fédération. Cependant, cela offre l'avantage d'un meilleur suivi des ressources par l(es) admin(s) (pas du côté de la modération, mais c'est un tout autre sujet...); il y a moins de probabilités que cela repose sur les épaules d'une seule personne. Bref, mastodon.social est la vitrine du fédivers (maintenue par le développeur principal de Mastodon, Eugen Rochko). Il vaut donc mieux que ça fonctionne, mais l'arrivée massive de personnes en provenance de twitter sur la principale instance du fédivers a inévitablement ralenti considérablement mon expérience utilisateur de celle-ci.
Au final, j'ai choisi mon instance actuelle sur ce sélecteur d'instance, après un court passage sur une autre instance (également submergée par la vague twitter...), en choisissant une instance française avec un des meilleurs uptime possible. Vous pouvez d'ailleurs me suivre ici. J'en profite pour remercier l'admin de l'instance de maly.io qui fait un travail formidable.
Pourquoi Pleroma
Je ne pense pas que Eugen Rochko ait raison de continuer à faire grossir les mastodontes mastodon.social ou mastodon.online. Certes, il tient certainement à garder la main et à dicter sa vision du fédivers par ses choix de modération envers les plus petites instances (2), mais cette position fragilise le fédivers, dont la force, je le répète, vient de l'absence, de ce qu'on appelle, dans le jargon, un SPOF (Single Point Of Failure) (soit le principe même d'Internet aux origines)3. Remettre des instances "mastodonte" reviendrait à refaire un (des) twitter bis.
Si on pousse la logique de l'éclatement des ressources au maximum afin d'éviter, notamment, de ne pas dépendre de nos voisins pour que ça fonctionne, on se retrouverait à faire du 1 pour 1, et donc du P2P. Néanmoins, le protocole ActivityPub sur lequel est basé le fédivers ne fonctionne pas sur ce principe, et je ne pense pas qu'il soit souhaitable d'implémenter un réseau social basé sur un protocole de ce type, puisque le principe même du réseau social est de communiquer à plusieurs.
Ainsi, Aral Balkan, grand défenseur du "small Web", a publié un article sur ce sujet, où il pense que chacun devrait se faire soit-même ou se faire héberger sa propre instance; l'article traduit en français est disponible sur le blog de Framasoft. Selon lui, un seul gros utilisateur (influenceur twitter), sur une instance peut faire basculer cette dernière par son poids relatif en abonnés.
Il y a eu des discussions sur ce sujet suite à cet article sur le fédivers. Beaucoup pensent que le protocole ActivityPub n'est pas fait pour4, encore moins Mastodon. Mastodon est écrit côté Backend en Ruby on Rails (RoR). La gestion des workers se fait par sidekiq. Bien qu'il y ait une documentation spécifique sur ce sujet pour les administrateurs de Mastodon, la solution la plus simple consiste le plus souvent à changer la taille la machine virtuelle. En tant qu'administrateur d'instance Gitlab, basé sur les mêmes couches logiciels, je peux confirmer que c'est aussi souvent une solution que j'ai testé et approuvé (...).
Certains ont tout de même réussi à "scaler" (capacité à passer à l'échelle) Mastodon, mais celà me semble plus tenir du hack que d'une solution pérenne, notamment lors des mises à jour. J'ai également vu des personnes réussir à faire tourner mastodon sur raspberry Pi.
Une conversation m'a marqué plus que les autres, c'est celle initiée par @jpmens@mastodon.social
ici.
Deux solutions sortent du lot : GoToSocial et Pleroma. Je pense que GoToSocial, avec sa base sqlite et son binaire en Golang correspond à la manière la plus minimaliste d'utiliser le fédivers, mais le message d'information sur leur documentation me laisse perplexe5. Pleroma, de son côté, existe depuis déjà pas mal de temps, est codé en Elixir et repose sur une base de données postgresql; il offre de très bonnes performances, et une expérience assez proche de Mastodon.
Pourquoi Raspberry Pi
Si vous avez bien suivi jusque là, ça devrait vous sembler assez logique. L'idée est de voir comment tenir une charge relativement importante avec un minimum de ressources. Et, ça tombait bien, j'en avais un qui dormait dans un carton ! J'aurai pu faire ça sur un VPS, chez un hébergeur, mais le self-hosting permet aussi d'avoir une idée précise de la consommation.
Notez qu'il existe des intiatives intéressantes comme GreenFediverse, dont les serveurs ne sont alimentés qu'en "énergie verte". Je ne prétend pas pouvoir le faire, mais il existe de nombreux projets fonctionnels pour alimenter des raspberry Pi avec des panneaux solaires et des batteries.
Passez à la partie 2 - Installation de Pleroma sur Raspberry Pi 4 en auto-hébergé chez Free Partie 2 - 11/2022,
Notes
Ainsi, le nombre d'utilisateurs de Mastodon a grimpé de +651799 comptes la semaine du 17/11 au 24/11, +456702 comptes du 10/11 au 17/11, +605525 comptes du 03 au 10/11 et +210163 comptes entre le 27/10 et le 03/11. Mastodon, en 1 mois est passé de 5 852 171 comptes à 7 509 993 comptes, soit une hausse de 1 657 822 comptes; 28% d'augmentation (source; voir aussi). Parmis les plus gros comptes, au 02/12/22, on trouve par exemple celui de Eugen Rochko, créateur de Mastodon avec 263k abonnées, stux avec 110k abonnés ou encore Stephen Fry et ses 84,5k abonnés; on trouve également George Takei avec 229k followers. Twitter et ses 436M d'utilisateurs sont donc loin devant, et cette perte d'utilisateurs, bien qu'importante, reste négligeable.
une petite instance qui choisit de se couper d'une de ces 2 grosses instances, par exemple, par manque de modération de celles-ci, s'isole considérablement. Voir ce fil de discussion à ce sujet.
même si il a été démontré par Stéphane Bortzmeyer qu'il y avait une forte concentration d'instances sur certains serveurs DNS faisant autorité.
Un des principaux problème avancé est la copie sur chaque instance du dialogue avec une autre personne d'une autre instance, et notamment, de tous les médias associés à chaque "pouet / toot".
GoToSocial is still ALPHA SOFTWARE. It is already deployable and useable, and it federates cleanly with many other Fediverse servers (not yet all). However, many things are not yet implemented, and there are plenty of bugs! We foresee entering beta somewhere in 2023.