buluma.matrix-synapse-auto-deploy
Auto-Bereitstellung für matrix-org/synapse
Diese Ansible-Rolle wird automatisch einen einsatzbereiten Matrix Server auf jedem Server bereitstellen. Im Gegensatz zu den matrix-docker-ansible-deploy Rollen verwendet diese Rolle kein Docker, sondern ein Python3-Virtual Environment, zumindest für Synapse.
Dienste
Diese Rolle konfiguriert die folgenden Dienste auf Ihrem Server:
Synapse: Referenzimplementierung des "Homeserver" von Matrix vom Hauptentwicklungsteam bei matrix.org
Coturn: STUN/TURN-Server für WebRTC Audio-/Videoanrufe
mxisd: Föderierter Matrix-Identitätsserver, um die Privatsphäre weiter zu erhöhen (Dokumentation)
nginx: Webserver für riot.web und Reverse-Proxy für Synapse und mxisd
postgresql: Datenbank für Synapse und mxisd
Riot: Weboberfläche, die für Ihren Homeserver vorkonfiguriert ist
Let's Encrypt: TLS-Zertifikat für Riot und Synapse
Kleine Architekturübersicht
Voraussetzungen
- Git
- Ansible >= 2.6
- DNS-Einträge
- A-Einträge
- A-Eintrag für matrix-machine.ihredomain.de.
- A-Eintrag für riot-webclient.ihredomain.de.
- SRV-Eintrag
_matrix._tcp.ihredomain.de. 3600 IN SRV 10 5 443 matrix-machine.ihredomain.de.
_matrix-identity._tcp.ihredomain.de. 3600 IN SRV 10 5 443 matrix-machine.ihredomain.de.
- A-Einträge
Sie sollten einen SRV-Eintrag wie diesen haben, um anderen Homeservern zu sagen, auf welchem Port sie kommunizieren müssen. Zusätzlich werden .well-known Dateien unter {{ matrix_well_known_location }} erstellt. Es liegt an Ihnen, diese Dateien auf den Server zu verschieben, der Ihre Apex-Domain bedient.
Unterstützte Betriebssysteme
- Ubuntu 18.04
- Debian 9
Es sollte auch problemlos auf jedem Systemd-basierten Betriebssystem laufen. Sie können gerne testen und mir Feedback geben (oder einen PR einreichen, um Unterstützung für Ihr bevorzugtes System hinzuzufügen).
Installation
Alle Variablen sind unter roles/matrix-synapse-auto-deploy/defaults/main.yml definiert. Sie müssen diese an Ihre Bedürfnisse anpassen. Schauen Sie sich die Datei playbook.example.yml für die wichtigsten Variablen an.
ansible-playbook playbook.example.yml --extra-vars "host=matrix.domain.com" -b -K
Viel Spaß
Sie können sich jetzt über den Riot-Webclient mit Ihrem Homeserver verbinden oder Ihren Homeserver in einem anderen Client angeben.
Ansible playbook for managing a matrix node with synapse and riot
ansible-galaxy install buluma.matrix-synapse-auto-deploy