Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
services:messagerie_instantanee:matrix [2022/10/31 02:14] – [Configuration / architecture / guides d'installation du service] gautgautservices:messagerie_instantanee:matrix [2025/02/04 12:05] (Version actuelle) – [Etape 1 : choisir votre fournisseur pour le compte Matrix] adrn
Ligne 26: Ligne 26:
 ===== Découvrir à quoi ça ressemble ===== ===== Découvrir à quoi ça ressemble =====
  
-Si vous le souhaitez, vous pouvez essayer la version web en allant sur le groupe de discussion ouvert d'[[https://chat.sans-nuage.fr/#/room/#alsace-entraide-numerique:sans-nuage.fr|Alsace Entraide Numérique]] .+Si vous le souhaitez, vous pouvez essayer Element sur le navigateur internet **depuis votre ordinateur** en allant sur le groupe de discussion ouvert d'[[https://chat.sans-nuage.fr/#/room/#alsace-entraide-numerique:sans-nuage.fr|Alsace Entraide Numérique]] . Nota : pour essayer depuis un smartphone il vous faudra l'application Element et un compte.
  
 Important: n'hésitez pas à indiquer que c'est un test pour essayer Element pour que les bénévoles d'ARN ou du Hackstub ne soient pas trop confus :) . Important: n'hésitez pas à indiquer que c'est un test pour essayer Element pour que les bénévoles d'ARN ou du Hackstub ne soient pas trop confus :) .
Ligne 33: Ligne 33:
  
 ==== Etape 1 : choisir votre fournisseur pour le compte Matrix ==== ==== Etape 1 : choisir votre fournisseur pour le compte Matrix ====
-Ci-dessous une liste d'hébergeur du collectif qui proposent d'ouvrir un compte Matrix en accès libre:+Ci-dessous une liste d'hébergeur du collectif qui proposent d'ouvrir un compte Matrix en accès libre (ou sur simple inscription) :
  
 {{url>https://www.chatons.org/entraide/list?title=&service_type_target_id=All&field_software_target_id=274&field_is_shared_value=All 100%,200 noscroll noborder alignment}} {{url>https://www.chatons.org/entraide/list?title=&service_type_target_id=All&field_software_target_id=274&field_is_shared_value=All 100%,200 noscroll noborder alignment}}
  
-L'outil de recherche d'hébergeurs de chatons.org peut vous permettre de trouver d'autres hébergeurs du collectifs qui le proposent de façon payante.+[[https://www.chatons.org/search/by-service?service_type_target_id=All&field_alternatives_aux_services_target_id=All&field_software_target_id=274&field_is_shared_value=All&title=|L'outil de recherche des services CHATONS]] peut vous permettre de trouver d'autres hébergeurs du collectif qui peuvent accueillir votre compte Matrix sous conditions.
  
 Si vous cherchez à vous interconnecter avec des contacts Signal ou même WhatsApp comme sur le chat [[https://chat.sans-nuage.fr/#/room/#alsace-entraide-numerique:sans-nuage.fr|Alsace Entraide Numérique]], vous pouvez adhérer chez Alsace Réseau Neutre pour bénéficier de leurs passerelles. Si vous cherchez à vous interconnecter avec des contacts Signal ou même WhatsApp comme sur le chat [[https://chat.sans-nuage.fr/#/room/#alsace-entraide-numerique:sans-nuage.fr|Alsace Entraide Numérique]], vous pouvez adhérer chez Alsace Réseau Neutre pour bénéficier de leurs passerelles.
Ligne 128: Ligne 128:
 ===== Présentations / tutoriels d'utilisation ===== ===== Présentations / tutoriels d'utilisation =====
 ==== Tutoriels détaillés ==== ==== Tutoriels détaillés ====
 +  * [[https://guide.zinz.dev/|Concept et première utilisation]]
   * [[https://pad.lescommuns.org/s/zcqChGuTe#Tutoriel-Matrix|Première utilisation]]   * [[https://pad.lescommuns.org/s/zcqChGuTe#Tutoriel-Matrix|Première utilisation]]
   * [[https://wiki.arn-fai.net/documentation:sans-nuage:whatsapp|Passerelle WhatsApp ARN-Messager]]   * [[https://wiki.arn-fai.net/documentation:sans-nuage:whatsapp|Passerelle WhatsApp ARN-Messager]]
Ligne 143: Ligne 144:
     * la [[https://github.com/YunoHost-Apps/mautrix-whatsapp_ynh|passerelle Mautrix-WhatsApp installée via Yunohost]]      * la [[https://github.com/YunoHost-Apps/mautrix-whatsapp_ynh|passerelle Mautrix-WhatsApp installée via Yunohost]] 
     * le [[https://code.ffdn.org/arn/arn-messager|robot de mise en relation ARN-Messager]].     * le [[https://code.ffdn.org/arn/arn-messager|robot de mise en relation ARN-Messager]].
-    * [[https://arn-fai.net/contact|Contacter ARN]] (#arn:matrix.fdn.fr) pour plus d'infos et les droits sur le tuto de déploiement.+    * [[https://arn-fai.net/contact|Contacter ARN]] (#arn:sans-nuage.fr) pour plus d'infos et les droits sur le tuto de déploiement. 
 + 
 +==== Bug de connection CAS ==== 
 +Si un SSO/CAS est configuré comme avec le paquet synapse_ynh, seule la connexion par CAS est possible, la connexion par identifiant+mdp est désactivée. 
 +Certains clients comme pidgin ne supportent pas la connexion CAS, ou Element iOS est buggué. Voici comment résoudre ça : 
 +https://github.com/YunoHost-Apps/synapse_ynh/issues/379
  
 ==== Configuration du Client web Element ==== ==== Configuration du Client web Element ====
 Pour permettre aux utilisateur.ice.s de trouver facilement les salons publics des autres CHATONS ajouter à ''element/config.json'' : Pour permettre aux utilisateur.ice.s de trouver facilement les salons publics des autres CHATONS ajouter à ''element/config.json'' :
  
 +    "embedded_pages": {
 +        "login_for_welcome": true
 +    },
     "roomDirectory": {     "roomDirectory": {
         "servers": [         "servers": [
Ligne 157: Ligne 166:
             "matrix.domainepublic.net"             "matrix.domainepublic.net"
             "matrix.fdn.fr",             "matrix.fdn.fr",
 +            "matrix.interhop.org",
             "matrix.lavallee.ynh.fr",             "matrix.lavallee.ynh.fr",
             "matrix.nomagic.uk",             "matrix.nomagic.uk",
Ligne 165: Ligne 175:
             "tedomum.net"             "tedomum.net"
         ]         ]
- +    }, 
-Notez que seuls exarius, garbaye, nomagic, sans-nuage, underworld et tedomum ont autorisé à lire la liste des salons public. Ou alors pour les autres c'est qu'ils n'ont pas de salons publics ou que l'url renseignée ici est inexacte.+Notez que seuls exarius, garbaye, nomagic, sans-nuage, underworld et tedomum ont autorisé à lire la liste des salons public (dans la config synapse ''allow_public_rooms_over_federation: true''). Ou alors pour les autres c'est qu'ils n'ont pas de salons publics ou que l'url renseignée ici est inexacte.
 ==== Gestion quotidienne de synapse ==== ==== Gestion quotidienne de synapse ====
  
Ligne 213: Ligne 223:
      
 ==== Nettoyage d'un serveur synapse ==== ==== Nettoyage d'un serveur synapse ====
 +Préférer les solutions basées sur l'API. Modifier directement la BDD est fortement déconseillé, car cela risque de corrompre des choses au niveau de la fédération.
 +  * [recommandé sur le chat synapse](https://jacksonchen666.com/posts/2022-12-03/14-33-00/)
 +  * https://foss-notes.blog.nomagic.uk/2021/03/matrix-database-house-cleaning/
 +  * https://levans.fr/shrink-synapse-database.html
 +  * https://gitea.prk.st/romain/synapse-tools/raw/branch/master/synapse-purge.sh
 +  * https://www.tedomum.net/dev/service/matrix/administration/
 +
  
 Un serveur synapse est gourmand en ressources, principalement en consommation disque et mémoire à travers sa base de données. Nettoyer régulièrement le serveur permet de conserver l'usage mémoire et la taille des tables à un niveau raisonnable (en 2021, un serveur synapse de taille moyenne doit consommer moins de 6Go de RAM et 100Go de disque, beaucoup moins s'il ne fédère pas avec de gros salons). Le [[https://levans.fr/shrink-synapse-database.html|guide de Levans]] est très complet pour le nettoyage d'un serveur Matrix, et quelques extraits adaptés sont proposés à suivre. Un serveur synapse est gourmand en ressources, principalement en consommation disque et mémoire à travers sa base de données. Nettoyer régulièrement le serveur permet de conserver l'usage mémoire et la taille des tables à un niveau raisonnable (en 2021, un serveur synapse de taille moyenne doit consommer moins de 6Go de RAM et 100Go de disque, beaucoup moins s'il ne fédère pas avec de gros salons). Le [[https://levans.fr/shrink-synapse-database.html|guide de Levans]] est très complet pour le nettoyage d'un serveur Matrix, et quelques extraits adaptés sont proposés à suivre.
Ligne 239: Ligne 256:
   # Finalement exécuter tous les fichiers SQL   # Finalement exécuter tous les fichiers SQL
   ls *.sql | xargs -ti psql -U$PGUSER -p 5432 -h $PGHOST $PGUSER -f '{}'   ls *.sql | xargs -ti psql -U$PGUSER -p 5432 -h $PGHOST $PGUSER -f '{}'
 +  
 +=== Nettoyer les évènements orphelins ===
 +Problèmes : 
 +https://github.com/element-hq/synapse/issues/9406
 +https://github.com/element-hq/synapse/issues/15575
 +
 +Solution [[https://forum.club1.fr/d/113-la-base-de-donnees-de-synapse-est-enorme/16|trouvée par club1]] puis [[https://www.underworld.fr/blog/matrix-synapse-maintenance-de-la-base-de-donnee-postgresql|fouine@underworld]] :
 +Avec le temps, ma base a continué de grossir et ce malgré l'application régulière des préceptes/règles d’hygiènes ci-dessus, qui permettaient quand même de limiter les dégâts.
 +
 +En cherchant... encore... et encore, je suis tombé sur ce blog : https://blog.gelesneeuw.nl/technology/2024/04/20/matrix-maintenance/
 +
 +Il est fait référence à un "bug" de jeunesse de synapse, qui perdure, dont voici l'issue : https://github.com/matrix-org/synapse/issues/3364
 +
 +Et dont voici le remède : https://github.com/erikjohnston/synapse-find-unreferenced-state-groups
 +
 +C'est EXACTEMENT ce qui causait l’embonpoint de ma base de donnée. Après application du traitement, celle-ci est passée de 250Go à 18Go... oui, DIX-HUIT Giga.
 +
 +Pour faire simple, ARRÊTEZ SYNAPSE, ARRÊTEZ SYNAPSE et ARRÊTEZ SYNAPSE, puis générez le fichier csv qui va contenir la liste des "événements orphelins":
 +
 +  rust-synapse-find-unreferenced-state-groups -p "postgresql://$DBUSER:$PGPASSWORD@localhost/$DBNAME" -o "/home/user/unreferenced.csv"
 +
 +Enfin, dans le cli psql, une fois connecté à votre base de donnée:
 +
 +  CREATE TEMPORARY TABLE unreffed(id BIGINT PRIMARY KEY);
 +  COPY unreffed FROM '/home/user/unreferenced.csv' WITH (FORMAT 'csv');
 +  DELETE FROM state_groups_state WHERE state_group IN (SELECT id FROM unreffed);
 +  DELETE FROM state_group_edges WHERE state_group IN (SELECT id FROM unreffed);
 +  DELETE FROM state_groups WHERE id IN (SELECT id FROM unreffed);
 +
 +Ce bug m'aura pourri la vie durant 3 ans, m'imposant des plans de remédiations lourds, des arbitrages de ressources, avec indispo. bref, je suis content :)
 +
  
  
  • services/messagerie_instantanee/matrix.1667178851.txt.gz
  • Dernière modification : 2022/10/31 02:14
  • de gautgaut