Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
services:messagerie_instantanee:matrix [2023/08/29 23:59] – [Nettoyage d'un serveur synapse] gautgaut | services:messagerie_instantanee:matrix [2025/02/04 12:05] (Version actuelle) – [Etape 1 : choisir votre fournisseur pour le compte Matrix] adrn |
---|
| |
==== 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. |
==== 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. | 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/) | * [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://foss-notes.blog.nomagic.uk/2021/03/matrix-database-house-cleaning/ |
* https://levans.fr/shrink-synapse-database.html | * https://levans.fr/shrink-synapse-database.html |
* https://gitea.prk.st/romain/synapse-tools/raw/branch/master/synapse-purge.sh | * https://gitea.prk.st/romain/synapse-tools/raw/branch/master/synapse-purge.sh |
* https://www.tedomum.net/dev/service/matrix/administration/ | * https://www.tedomum.net/dev/service/matrix/administration/ |
| |
| |
# 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 :) |
| |
| |
| |