Je suis Gaëtan de chez Picasoft. On vient de découvrir après la mise à jour de Mattermost vers 9.5 LTS qu’il y a maintenant une limite du nombre de comptes actifs sur une instance fixée à 10 000 comptes dans la version OSS (Team Edition).
Notre instance a passé ce seuil courant 2023 (actuellement on a un peu moins de 10500 comptes), et les comptes administrateurs ont maintenant un bandeau d’erreur permanent pointant sur cette page : Mattermost error codes — Mattermost documentation
Les raisons invoquées nous semblent clairement abusives, on n’a pour l’instant aucun problème de performance sur notre instance, qui tourne sur un serveur avec un i5-6500, 16Go de RAM sur cette VM, PostgreSQL 15, et plein d’autres services sur cette même machine.
On va peut-être essayer de voir si on peut désactiver ou changer cette limite en compilant nous-même Mattermost. Si des personnes ont déjà tenté l’expérience, on aimerait bien savoir à quel point c’est complexe à réaliser.
S’il y a ici des CHATONS avec des «grosses» instances Mattermost, faîtes bien attention à cette nouvelle version. Je suppose que l’instance de Framasoft (Framateam) est aussi concernée par ce changement.
On utilise le Mattermost shippé avec Gitlab dans leur paquet Omnibus. Conséquence : on est encore en 9.4 (peut-être à cause de ce changement ? Genre Gitlab réfléchirait à quoi faire de ça ?).
Nous ne sommes donc pas encore concernés, mais j’imagine que ça ne saurait tarder.
Tant que la limitation ne fait que mettre un warning dans les logs côté serveur et afficher une popup aux admins, le souci devrait être simple à régler :
J’ai regardé, j’ai cru comprendre que le frontend query le serveur pour savoir si la limite est dépassée, donc normalement y’a que cette constante à changer.
J’ai essayé de voir si c’est possible d’éditer directement l’exécutable, mais je trouve pas comment faire ça simplement, donc go recompiler
C’est plus facile de modifier et recompiler le frontend que le backend, à mon avis. Déjà vu qu’ils donnent une marche à suivre pour utiliser un frontend customisé.
On considère une 3e option : override via le reverse proxy la route /api/v4/limits/users pour qu’elle renvoie un JSON statique comme ça par exemple :
{"maxUsersLimit":50000,"activeUserCount":10439}
D’ailleurs j’ai vérifié dans le code, et il me semble bien que le bandeau pour les admins est le seul comportement qui change une fois que la limite est dépassée.
En attendant, à Framasoft, on a décidé de recompiler Mattermost en faisant sauter la limite (enfin, pas vraiment, mais on met une limite très, très haute)
les binaires : https://packages.framasoft.org/projects/mattermost/ (utilisez les version f2 s’il y en a une : c’est une recompilation avec qq infos ajoutées, là où les pas-f2 (s’il y a une version f2) affichent dev en version de Mattermost. C’est pas bien grave, mais c’est plus propre avec la version f2.)
Normalement, y a qu’à remplacer le binaire de mattermost par celui de mostlymatter. L’interface web continuera à afficher Mattermost comme nom de soft, sauf dans le « À propos »
À noter :
on n’a pas encore testé mostlymatter. On a juste remplacé mattermost avec les binaires de mattermost recompilés sans la limite, mostlymatter a qq modifications en plus mais normalement y a pas de raison que quoi que ce soit se passe mal
on attend la màj de Gitlab qui amènera Mattermost 9.11 pour passer à Mostlymatter (notre Mattermost est installé via le paquet Gitlab Omnibus donc on suit ses montées en versions, mais on prévoit un de ces quatre, quand j’aurais le temps, de passer à une installation standalone de Mattermost).
Ah bah on va pouvoir tester : y a une version bugfix de mattermost qui vient de sortir pour la 9.10 (la version qu’on utilise, donc), donc on va pouvoir utiliser le build mostlymatter 9.10.2 sur Framateam.