Réseau Mastodon : à lire avant d'ouvrir votre instance

-

L'engouement autour du réseau social décentralisé Mastodon ne faiblit pas, et aujourd'hui on compte plus de 800 instances.

C'est l'occasion de faire un petit point pour ceux qui voudraient aussi se lancer dans l'aventure. Pourquoi ? Simplement parce que certains se sont peut-être lancés un peu vite à ouvrir une instance Mastodon acceptant les inscriptions, et maintenant qu'ils ont des centaines d'utilisateurs, ils commencent à réaliser tout ce que cela implique d'être hébergeur. Et je pense qu'on va bientôt assister à des fermetures en masse de serveurs (mais sur plus de 800, ça laisse un peu de marge).

Je fais toujours tourner mon instance, mais elle n'est pas ouverte au public. Si vous voulez créer une instance personnelle, foncez. Les lignes qui suivent s'adressent principalement à ceux qui veulent ouvrir les inscriptions au public.

Il y a une différence entre suivre quelques tutos sur le net, avoir un Wordpress chez OVH, et gérer un dédié sur plusieurs mois / années. Il y a beaucoup de choses dont on n'a pas conscience tant que nous n'avons pas franchi le pas. Et il est vrai qu'ici l'auto-hébergement ou la gestion d'un petit site sur un petit VPS constitue une expérience indispensable avant de devenir hébergeur.

On peut comprendre l'engouement autour de Mastodon et donc le fait que certains se soient lancés un peu vite à ouvrir les inscriptions. Mais quand même, quand on a un peu d'expérience on sait qu'il faut faire tourner un peu à vide un programme plusieurs jours pour voir comment il va se comporter : consommation et gestion de la RAM, occupation sur le disque dur, écriture/lecture sur le disque dur, est-ce que le service tombe dès qu'il y a X nombre d'utilisateurs connectés, comment se passent les mises à jour, etc...

Or à l'évidence, certains n'ont pas pris le temps de faire ces tests préliminaires. Et aujourd'hui, c'est un peu la déconvenue pour certains. Ou tout au moins, un certain doute s'installe.

Mastodon et le disque dur

Mastodon est pour le moment gourmand en espace disque. Mais cela provient surtout des logs qui sont très volumineux. Certains ont déjà plusieurs Go de logs après 2-3 jours. Pour ma part, sur mon instance personnelle, avec environs 80 abonnements et 40 abonnées, et interconnectée avec 100 instances, j'en suis à environs 100Mo toutes les 8 heures.

Mais là où les choses deviennent encore plus "drôle" si j'ose dire : en France vous devez conserver les logs 1 an. Et donc si vous avez 5 Go de logs par jours, cela veut dire qu'il faudra prévoir une machine dédiée à la conservation des logs. Et quand je dis une machine, je suis gentil, parce que si elle tombe en rade et que vous n'en avez pas une copie, il faudra prier pour que la justice ne vous les demande pas.

Bienvenue dans l'univers de l'hébergement.

Mastodon et la RAM et le CPU

Côté CPU, mon expérience n'est pas signifiante car seul sur une instance, il n'y a pas vraiment de problème de ce côté là. Juste de temps en temps, de belles montées en charge. Tout ce que je sais pour le moment, c'est qu'avec plusieurs utilisateurs, ça monte vite en régime. Donc, si vous ouvrez les inscriptions, faites-le par vague de 10 ou 20 inscriptions par jour, et encore, pas tous les jours.

Côté RAM, c'est un peu la même chose. Le système devient assez vite gourmand. Mastodon utilise Redis, dont le fonctionnement est justement de mettre certaines données en RAM.

Mastodon et la base de données

Toujours à relativiser du fait que je suis seul sur mon instance, mais pour l'heure la BDD augmente d'environs 3Mo par jour. Admettons que des données soient mutualisées entre utilisateurs d'une même instance, et que par conséquent à plusieurs la BDD n'augmente que de 1.5Mo par jour et par utilisateur :

  • à 10 utilisateurs ça nous donne du 15Mo par jour, 450Mo par mois, 5,4Go par an
  • à 100 utilisateurs ça nous donne du 150Mo par jour, 4,5Go par mois, 54Go par an

Je ne vous fait pas le calcul pour 1000 utilisateurs, vous avez compris... BDD à évidemment sauvegarder pour assurer une continuité de service acceptable en cas de problème. Là on commence à basculer des rêveries de geek à la réalité des services web.

Pour l'heure on ne sait pas si le système conservera tous les messages, ou si une purge sera prévue tous les X mois.

Mastodon et le mail

Tout comme n'importe qu'elle réseau social, Mastodon peut vous avertir par mail de certaines interactions (nouvel abonné, nouveau message privé, etc...). Ce qui veut dire que vous allez devoir gérer du mail. Et oui. Et là ça peut devenir très pénible si vous le faites vous-mêmes.

Une solution est d'utiliser des services comme Mailgun ou Mailjet. Mais suivant la volumétrie utilisée, à un moment il faudra payer (au-delà de 10 000 mails par mois pour Mailgun).

Petit calcul : 1000 inscrits, 300 emails par jour, ça nous fait du 9000 emails par mois. On est dans les clous de l'offre gratuite de Mailgun, mais si vous voulez administrer vous-même les mails, ça va nécessiter par mal de compétences et surtout de temps.

Note : il faudra indiquer une carte bleu valide pour pouvoir utiliser Mailgun (et probablement Mailjet également).

Mastodon, combien ça coûte ?

Pour être seul sur son instance, 3.5€ par mois sur un VPS chez OVH.

Avec 500 utilisateurs, par contre ça va commencer à vite chiffrer. Difficile de donner un prix car tout dépend de l'architecture que vous allez choisir. Mais là on va être au moins sur une machine à 4 ou 8 coeurs, et au moins 8 de ram. Pour commencer. C'est typiquement le VPS cloud 3 de chez OVH à 36€ par mois. Et encore, je ne sais pas si les 500 utilisateurs tiennent dessus.

A quoi s'ajoute le coût des backup, et du mail le cas échéant.

Et là je ne parle que d'une config de débutant. Si vous voulez assurer une vraie continuité de service, il faudra prévoir une architecture de répartition de charge. Donc au moins deux serveurs (avec réplication en temps réel entre les machines, le tout de manière sécurisée c'est à dire, par exemple, dans un réseau privé virtuel).

Mastodon et la modération

On n'en entend pas trop parler pour le moment, mais avec une instance comprenant 5000 utilisateurs, si vous avez 50 trolls bien gras, soit seulement 1% de vos utilisateurs, vous allez passer vos journées à modérer...

Voilà pour ce petit tour d'horizon. Le but n'est pas de vous décourager d'ouvrir une instance. Le but est que vous ne la fermiez pas au bout d'un mois car vous ne saviez pas à quoi vous attendre. Ceci étant dit, sur une instance perso, ça ronronne :-) Peut-être que j'ouvrirais les inscriptions pour quelques uns, histoire de voir jusqu'à quel point c'est gérable dans un cadre "loisir/passion", sans entrer entièrement dans l'univers de l'hébergement web.

MAJ

MAJ 1: A titre d'exemple, Mamot.fr, l'instance Mastodon gérée par la Quadrature du net, a posté ce message (extrait en copie d'écran ci-dessous) : https://mamot.fr/@admin/165973

A cette heure, Mamot.fr a 2900 utilisateurs, 21 000 messages, et est interconnecté avec 460 instances.

MAJ 2 : le développeur de Mastodon a publié un article expliquant comment il héberge une instance avec 43 000 utilisateurs : (extrait en copie d'écran ci-dessous)

MAJ 3 : il peut être difficile de prévoir les ressources nécessaires car les utilisateurs inscrits sont plus ou moins actifs. Pour l'heure, beaucoup n'ont posté que quelques messages. Une configuration qui semble nécessaire à un instant T pourrait ne plus l'être si ces utilisateurs devenaient plus actifs.

Par ailleurs concernant le mail, certains m'ont objecté, un peu maladroitement, qu'avec Mastodon on ne fait qu'envoyer du mail et donc ce serait plus simple. Là encore, il y a une différence entre ce qu'on lit dans les tutos sur Internet et la pratique. Dans la pratique, vous avez des utilisateurs qui s'inscrivent avec des adresses qui n'existent pas, d'autres qui ferment une adresse mail sans vous prévenir, et enfin d'autres qui vont taguer vos mails comme des spams. Dans tous ces cas, cela vous demandera du travail (garder une IP propre pour le mail et garder une base d'adresses mail valides demandent du temps).