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.