buluma.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 distingue des rôles matrix-docker-ansible-deploy en ne utilisant pas Docker, mais plutôt un environnement virtuel python3, du moins pour Synapse.
Services
Ce rôle configure les services suivants sur votre serveur :
Synapse : Implémentation "homeserver" de Matrix développée par l'équipe centrale de matrix.org
Coturn : Serveur STUN/TURN pour les appels audio/vidéo WebRTC
mxisd : Serveur d'identité Matrix fédéré pour augmenter 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
Petite Vue d'ensemble 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 un enregistrement SRV de ce type pour indiquer aux autres HomeServers quel port ils doivent utiliser. De plus, des fichiers .well-known seront créés sous {{ matrix_well_known_location }}. C'est à vous de déplacer ces fichiers sur le serveur qui dessert votre domaine principal.
Systèmes d'exploitation pris en charge
- Ubuntu 18.04
- Debian 9
Cela devrait également fonctionner sans problème sur n'importe quel système d'exploitation basé sur systemd. Vous êtes libre de tester et de me donner vos retours (ou de soumettre une PR pour ajouter le support pour 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. Jetez un œil au 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.
Ansible playbook for managing a matrix node with synapse and riot
ansible-galaxy install buluma.matrix-synapse-auto-deploy