Madic-.matrix-synapse-auto-deploy
Auto-despliegue para matrix-org/synapse
Este rol de ansible desplegará automáticamente un servidor matrix listo para usar en cualquier servidor. Se diferencia de los roles matrix-docker-ansible-deploy por no utilizar docker, sino un entorno virtual de python3, al menos para synapse.
Servicios
Este rol configura los siguientes servicios en tu servidor:
Synapse: Implementación de "homeserver" de Matrix del equipo de desarrollo en matrix.org.
Coturn: Servidor STUN/TURN para llamadas de audio/video WebRTC.
mxisd: Servidor de identidad federado de Matrix, para aumentar aún más la privacidad (doc).
nginx: Servidor web para riot.web y proxy inverso para synapse y mxisd.
postgresql: Base de datos para synapse y mxisd.
Riot: Interfaz web preconfigurada para tu homeserver.
Let's Encrypt: Certificado TLS para Riot y Synapse.
Pequeña Vista general de la arquitectura.
Requisitos previos
- Git
- Ansible >= 2.6
- Entradas DNS
- Registros A
- Registro A para matrix-machine.tudominio.tld.
- Registro A para riot-webclient.tudominio.tld.
- Registro SRV
_matrix._tcp.tudominio.tld. 3600 IN SRV 10 5 443 matrix-machine.tudominio.tld.
_matrix-identity._tcp.tudominio.tld. 3600 IN SRV 10 5 443 matrix-machine.tudominio.tld.
- Registros A
Debes tener una entrada SRV como esta para indicar a otros HomeServers en qué puerto deben comunicarse. Además, se crearán archivos .well-known en {{ matrix_well_known_location }}. Dependerá de ti mover estos archivos al servidor que sirva tu dominio principal.
Sistemas operativos soportados
- Ubuntu 18.04
- Debian 9
También debería funcionar sin problemas en cualquier sistema operativo que use systemd. Tienes libertad para probar y darme tu opinión (o hacer un PR para agregar soporte para tu sistema favorito).
Instalación
Todas las variables están definidas en roles/matrix-synapse-auto-deploy/defaults/main.yml. Necesitas adaptarlas a tus necesidades. Consulta el archivo playbook.example.yml para las variables más importantes.
ansible-playbook playbook.example.yml --extra-vars "host=matrix.dominio.com" -b -K
Disfruta
Ahora puedes conectar a tu Homeserver a través del cliente web de riot o especificando tu Homeserver en cualquier otro cliente.
Ansible playbook for managing a matrix node with synapse and riot
ansible-galaxy install Madic-.matrix-synapse-auto-deploy