diff --git a/README.md b/README.md index 5f2c242..ea90189 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ Responsable: Adrien Bourmault (@neox) Le contenu de ce répertoire est publié sous licence libre GNU AGPL3+. -[TOC] # Installation @@ -16,8 +15,7 @@ Le contenu de ce répertoire est publié sous licence libre GNU AGPL3+. On aura besoin de quelques paquets de base : ``` -sudo apt install postgres erlang-p1-pgsql -sudo apt install postgresql erlang-p1-pgsql +sudo apt install postgresql erlang-p1-pgsql erlang sudo apt install certbot ``` @@ -175,6 +173,13 @@ listen: auth_realm: chalec.org turn_ipv4_address: PUBLIC_IPV4 turn_ipv6_address: PUBLIC_IPV6 + - + port: 8448 # Matrix federation + ip: "::" + module: ejabberd_http + tls: true + request_handlers: + "/_matrix": mod_matrix_gw ``` On active SCRAM pour les mots de passes utilisateurs et STARTTLS pour les connexions S2S : @@ -333,13 +338,77 @@ mod_pubsub: ``` +On paramètre le gateway Matrix. Il faut générer une clé privée dans un shell `erl` : +``` +=(^-^)=root@xmpp.chalec.org:~# erl +Erlang/OTP 25 [erts-13.1.5] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns] + +Eshell V13.1.5 (abort with ^G) +1> base64:encode(element(2, crypto:generate_key(eddsa, ed25519))). +<<"CLE PRIVEE">> +2> q(). +ok +``` + +On paramètre le module dans la conf ejabberd : +``` + mod_matrix_gw: + ## Matrix federation related + matrix_domain: "matrix.chalec.org" + key_name: "key1" + # secret private key for matrix federation + key: "CLE PRIVEE" + +``` + Et enfin, pour que les appels audio/vidéo fonctionnent correctement : ``` mod_stun_disco: {} ``` -Note : il faut penser également à paramétrer un compte administrateur dans la section `acl`. +Pour le client Movim actuel, ajouter : + +``` +# We are using movim here, which does not work with SASL downgrade protection +disable_sasl_scram_downgrade_protection: true +``` + + +On veut également que ejabberd mette à jour le schema sql : + +``` +# We want that ejabberd takes care of its schema +update_sql_schema: true +``` + + +Note : il faut penser également à paramétrer un compte administrateur dans la section `acl` et d'autres autorisations : +``` +s2s_access: s2s + +access_rules: + local: + allow: local + c2s: + deny: blocked + allow: all + s2s: + - allow # to allow Matrix federation + announce: + allow: admin + configure: + allow: admin + muc_create: + allow: local + pubsub_createnode: + allow: local + trusted_network: + allow: loopback + chalec_server: + allow: chalec + +``` Une fois la configuration effectuée on recharge ejabberd avec :