Yunohost

De Wiki JabberFR
Aller à la navigation Aller à la recherche

Cette page recense les informations utiles concernant l'administration d'un serveur XMPP dans Yunohost.

En bref

La page d'aide officielle du projet est : https://yunohost.org/fr/administrate/overview/xmpp pour les DNS attendus : https://yunohost.org/fr/dns_config

Jusque Yunohost 11, Yunohost fournit par défaut le serveur Metronome pour ses besoins propres.

Le fichier de configuration par défaut peut-être consulté ici : https://github.com/YunoHost/yunohost/blob/dev/data/templates/metronome/metronome.cfg.lua

À partir de Yunohost 12, il n'y a plus de serveur XMPP fourni par défaut. Une app est en cours de préparation (statut 03/2024) pour fournir Prosody avec le meilleur support possible (https://github.com/anubister/prosody_ynh/).

Du support peut être obtenu sur xmpp:support@conference.yunohost.org?join et les discussions pour l'amélioration du support XMPP dans Yunohost sur xmpp:yunohost-xmpp@muc.chapril.org?join .

Configuration de BOSH

Ce service est nécessaire pour pouvoir accéder au serveur XMPP depuis des clients qui ont un accès restreint, comme Conversejs ou JSXC, le client XMPP pour NextCloud.

Le module Metronome est déjà activé par défaut, il suffit d'installer une app qui va rendre le service BOSH accessible de l'extérieur en utilisant l'app Redirect : yunohost app install redirect -a "domain=your.domain&path=/http-bind&redirect_path=http://localhost:5290/http-bind&redirect_type=public_proxy" -l BOSH

Source : https://forum.yunohost.org/t/unable-to-set-up-bosh-conf-nginx/12995 https://forum.yunohost.org/t/configure-xmpp-in-nextcloud-addon-javascript-xmpp-client/2934/4?u=ashledombos


Configuration service TURN/STUN

Ce service est nécessaire pour passer des appels audio/vidéo notamment avec Conversations.


Source : https://github.com/YunoHost/issues/issues/1607


Limitations

Problèmes connus

  • Impossible d'envoyer des fichiers PDF (+autres extensions ?) depuis un compte Yunohost/Metronome

Modifier ou ajouter dans la conf /etc/metronome/conf.d/domain.ext.cfg.lua , dans la section Component "xmpp-upload.domain.ext" "http_upload" :

http_file_add_mime_types = { ["json"] = "application/json", ["txt"] = "text/plain", ["png"] = "image/png",["jpg"] = "image/jpg", ["pdf"] = "application/pdf", ["doc"] = "application/msword", ["htm"] = "text/html", ["html"] = "text/html", ["mp3"] = "audio/mpeg3", ["gif"] = "image/gif", ["mp4"] = "video/mp4", ["mpeg"] = "video/mpeg", ["m4a"] = "audio/m4a", ["ogg"] = "application/ogg", ["gpx"] = "application/gpx+xml", ["vcf"] = "text/vcard", ["ics"] = "text/calendar", ["sxw"] = "application/vnd.sun.xml.writer", ["stw"] = "application/vnd.sun.xml.writer.template", ["sxg"] = "application/vnd.sun.xml.writer.global", ["sdw"] = "application/vnd.stardivision.writer", ["vor"] = "application/vnd.stardivision.writer", ["sgl"] = "application/vnd.stardivision.writer-global", ["sxc"] = "application/vnd.sun.xml.calc", ["stc"] = "application/vnd.sun.xml.calc.template", ["sdc"] = "application/vnd.stardivision.calc", ["sxi"] = "application/vnd.sun.xml.impress", ["sti"] = "application/vnd.sun.xml.impress.template", ["sdd"] = "application/vnd.stardivision.impress", ["sdp"] = "application/vnd.stardivision.impress", ["sxd"] = "application/vnd.sun.xml.draw", ["std"] = "application/vnd.sun.xml.draw.template", ["sda"] = "application/vnd.stardivision.draw", ["sxm"] = "application/vnd.sun.xml.math", ["smf"] = "application/vnd.stardivision.math", ["odt"] = "application/vnd.oasis.opendocument.text", ["ott"] = "application/vnd.oasis.opendocument.text-template", ["oth"] = "application/vnd.oasis.opendocument.text-web", ["odm"] = "application/vnd.oasis.opendocument.text-master", ["odg"] = "application/vnd.oasis.opendocument.graphics", ["otg"] = "application/vnd.oasis.opendocument.graphics-template", ["odp"] = "application/vnd.oasis.opendocument.presentation", ["otp"] = "application/vnd.oasis.opendocument.presentation-template", ["ods"] = "application/vnd.oasis.opendocument.spreadsheet", ["ots"] = "application/vnd.oasis.opendocument.spreadsheet-template", ["odc"] = "application/vnd.oasis.opendocument.chart", ["odf"] = "application/vnd.oasis.opendocument.formula", ["odb"] = "application/vnd.oasis.opendocument.database", ["odi"] = "application/vnd.oasis.opendocument.image" }

(source : https://forum.yunohost.org/t/metronome-mime-types-for-metronome-again/20073 )

Faire tourner un autre serveur XMPP

Pourquoi ?

Prosody est requis pour certaines app Yunohost comme PeerTube et Jitsi. Prosody dispose d'un plus grand nombre d'extensions (XEP) et son développement est plus actif.

Comment ?

  • Option 1

Il est possible de faire tourner Prosody à la place de Metronome : yunohost app install prosody semble suffire d'après https://forum.yunohost.org/t/switching-from-metronome-to-prosody-yunohost-application/19436/6

Cela requiert d'arrêter Metronome : attention aux effets de bord engendrés par la désactivation de Metronome (pas clair ce que cela peut casser).

  • Option 2

Un autre retour d'expérience plus détaillé est dispo ici : http://sebseb01.net/blog/2023-poc-yunohost-metronome-prosody


Historique Metronome vs Prosody

Pourquoi Prosody n'est pas le serveur par défaut dans Yunohost ? voir https://github.com/YunoHost/issues/issues/67 En bref, en certaines fonctionnalités présentes dans Metronome en 2016 ne l'étaient pas dans Prosody. En 2017 Prosody a rattrapé ces fonctionnalités manquantes (et en permet beaucoup plus), la migration est préparée [1]. La préparation de la migration est quasi achevée début mars 2018 mais l'annonce de reprise du développement de Metronome stoppe brutalement le process. [2]


Inscription

Les nouveaux utilisateurs doivent être ajoutés manuellement par un admin Yunohost, pas possible de créer un compte depuis un client XMPP. Voir quand la fonctionnalité sera implémentée : https://github.com/YunoHost/issues/issues/1677


Liens utiles

Conf par défaut de Metronome dans Yunohost : https://github.com/YunoHost/yunohost/blob/dev/conf/metronome/metronome.cfg.lua