Changement des conditions d’utilisation de Mattermost OSS

Salut à tous·tes !

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.

Amicalement,

Gaëtan

6 « J'aime »

Merci pour l’avertissement !

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.

On va regarder la compilation, oui. clairement.

2 « J'aime »

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 :

  1. Forker GitHub - mattermost/mattermost: Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
  2. Tripatouiller la fonction shouldShowUserLimitsAnnouncementBar pour qu’elle retourne toujours false
  3. Compiler le front-end et l’utiliser à la place de l’officiel (cf la doc)

Quand il y aura une limite forte au niveau serveur, ça sera une autre affaire.

1 « J'aime »

C’est une toute petite constante à changer !

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 :yum:

3 « J'aime »

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é.

1 « J'aime »

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.

4 « J'aime »

C’est ce qu’on a fait côté Picasoft du coup (commit).

Ça commence à se verrouiller de plus en plus : mattermost/server/channels/app/limits.go at master · mattermost/mattermost · GitHub

Et User limit enforcement (#26511) · mattermost/mattermost@b02d634 · GitHub, qui semble bloquer la création de compte si on dépasse la hard-limit.

Et pour lire plus en détails les raisons selon Mattermost : Feedback on Collaboration for Mission-Critical Work - #9 by it33_mattermost - Feedback - Mattermost Discussion Forums

@Chosto s’est motivé·e à faire avancer la discussion ! On attend leur réponse, sans grandes attentes.

1 « J'aime »

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) :slightly_smiling_face:

Liens :

2 « J'aime »

Juste un petit mot pour dire qu’on a renommé notre fork en Mostlymatter¹, suite à « Does Framasoft have a roadmap to change the name of the fork, so the IP would then be clean? ».

Les liens sont maintenant :

@Chosto, si tu veux bien dire ça au gars de Mattermost sur le forum, ce serait sympa (pas envie d’ouvrir encore un compte). Merci :slight_smile:

¹ quoi, comment ça, je me suis pas foulé sur le nom ? C’est bien vrai :stuck_out_tongue:

3 « J'aime »

On peut passer de mattermost à mostlymatter facilement ?
Les applications mobiles marchent avec ?

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).
2 « J'aime »

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.

@Chosto Plus besoin de répondre sur le forum de Mattermost, j’ai répondu.

Il semble que Mattermost abandonne la version communautaire de Playbook

Il y avait eu aussi l’abandon de FocalBoard.

Mouais, nous nous se sentons un peu coincés d’avoir choisi cet outil avec @linux07 et se pose la question si on ne trouverait pas une autre alternative… Ceci dit on n’utilisait pas trop Playbooks, ce qui m’a chagriné c’était l’option calls dans les channels qui permettait de communiquer qui n’est plus activable avec la version communautaire.

De plus la version Entreprise semble non compatible avec la charte des CHATONS.

1 « J'aime »