Madic-.matrix-synapse-auto-deploy
Déploiement automatique pour matrix-org/synapse
Ce rôle Ansible déploie automatiquement un serveur matrix prêt à l'emploi sur n'importe quel serveur. Il se différencie des rôles matrix-docker-ansible-deploy en n'utilisant pas Docker, mais plutôt un environnement virtuel Python3, au moins pour Synapse.
Services
Ce rôle configure les services suivants sur votre serveur :
Synapse : Implémentation de référence du "homeserver" de Matrix par l'équipe de développement principal de matrix.org
Coturn : Serveur STUN/TURN pour les appels audio/vidéo WebRTC
mxisd : Serveur d'identité Matrix fédéré, pour renforcer la confidentialité (doc)
nginx : Serveur web pour riot.web et proxy inverse pour Synapse et mxisd
postgresql : Base de données pour Synapse et mxisd
Riot : Interface Web préconfigurée pour votre homeserver
Let's Encrypt : Certificat TLS pour Riot et Synapse
Petit Aperçu de l'Architecture
Prérequis
- Git
- Ansible >= 2.6
- Entrées DNS
- Enregistrements A
- Enregistrement A pour matrix-machine.votredomaine.tld.
- Enregistrement A pour riot-webclient.votredomaine.tld.
- Enregistrement SRV
_matrix._tcp.votredomaine.tld. 3600 IN SRV 10 5 443 matrix-machine.votredomaine.tld.
_matrix-identity._tcp.votredomaine.tld. 3600 IN SRV 10 5 443 matrix-machine.votredomaine.tld.
- Enregistrements A
Vous devez avoir une entrée SRV comme ceci pour indiquer aux autres HomeServers sur quel port communiquer. De plus, des fichiers .well-known seront créés sous {{ matrix_well_known_location }}. C'est à vous de déplacer ces fichiers vers le serveur qui dessert votre domaine de niveau supérieur.
Systèmes d'exploitation pris en charge
- Ubuntu 18.04
- Debian 9
Cela devrait également fonctionner sans problème sur tout système d'exploitation utilisant systemd. Vous êtes libre de tester et de me donner vos retours (ou de faire une PR pour ajouter le support de votre système préféré).
Installation
Toutes les variables sont définies dans roles/matrix-synapse-auto-deploy/defaults/main.yml. Vous devez les adapter à vos besoins. Consultez le fichier playbook.example.yml pour les variables les plus importantes.
ansible-playbook playbook.example.yml --extra-vars "host=matrix.domaine.com" -b -K
Profitez-en
Vous pouvez maintenant vous connecter à votre Homeserver via le client web Riot ou en spécifiant votre Homeserver sur n'importe quel autre client.