buluma.matrix-synapse-auto-deploy
Automatyczne wdrażanie dla matrix-org/synapse
Ta rola ansible automatycznie wdraża gotowy do użycia serwer matrix na dowolnym serwerze. Różni się od ról matrix-docker-ansible-deploy tym, że nie używa dockera, lecz środowiska wirtualnego python3, przynajmniej dla synapse.
Usługi
Ta rola konfiguruje następujące usługi na Twoim serwerze:
Synapse: Wzorcowa implementacja "homeserver" Matrix od zespołu deweloperów matrix.org
Coturn: Serwer STUN/TURN do połączeń audio/wideo WebRTC
mxisd: Federowany serwer tożsamości Matrix, aby zwiększyć prywatność (dokumentacja)
nginx: Serwer WWW dla riot.web i odwrotny proxy dla synapse i mxisd
postgresql: Baza danych dla synapse i mxisd
Riot: Interfejs webowy wstępnie skonfigurowany dla Twojego homeserver
Let's Encrypt: Certyfikat TLS dla Riot i Synapse
Krótki przegląd architektury
Wymagania wstępne
- Git
- Ansible >= 2.6
- Rekordy DNS
- Rekordy A
- Rekord A dla matrix-machine.twojadomena.tld.
- Rekord A dla riot-webclient.twojadomena.tld.
- Rekord SRV
_matrix._tcp.twojadomena.tld. 3600 IN SRV 10 5 443 matrix-machine.twojadomena.tld.
_matrix-identity._tcp.twojadomena.tld. 3600 IN SRV 10 5 443 matrix-machine.twojadomena.tld.
- Rekordy A
Powinieneś mieć wpis SRV, aby powiedzieć innym serwerom domowym, na którym porcie powinny się komunikować. Dodatkowo pliki .well-known zostaną utworzone w {{ matrix_well_known_location }}. To do Ciebie należy przeniesienie tych plików na serwer obsługujący Twoją domenę główną.
Obsługiwane systemy operacyjne
- Ubuntu 18.04
- Debian 9
Powinno również działać dobrze na każdym systemie operacyjnym obsługującym systemd. Możesz śmiało testować i dawać mi feedback (lub PR, aby dodać wsparcie dla Twojego ulubionego systemu).
Instalacja
Wszystkie zmienne są zdefiniowane w roles/matrix-synapse-auto-deploy/defaults/main.yml. Musisz je dostosować do swoich potrzeb. Spójrz na plik playbook.example.yml w celu uzyskania najważniejszych zmiennych.
ansible-playbook playbook.example.yml --extra-vars "host=matrix.domena.com" -b -K
Enjoy
Teraz możesz połączyć się ze swoim Homeserver za pomocą klienta webowego Riot lub wskazując swój Homeserver w dowolnym innym kliencie.
Ansible playbook for managing a matrix node with synapse and riot
ansible-galaxy install buluma.matrix-synapse-auto-deploy