buluma.matrix-synapse-auto-deploy
matrix-org/synapse的自动部署
这个 Ansible 角色将会自动在任何服务器上部署一个可用的 matrix 服务器。它与 matrix-docker-ansible-deploy 角色的不同之处在于不使用 Docker,而是使用 Python3 虚拟环境,至少对于 Synapse 是如此。
服务
此角色在您的服务器上配置以下服务:
Synapse: 由 matrix.org 核心开发团队提供的 Matrix "homeserver" 实现
Coturn: 用于 WebRTC 音视频通话的 STUN/TURN 服务器
nginx: 用于 riot.web 的 Web 服务器和 Synapse 与 mxisd 的反向代理
postgresql: Synapse 和 mxisd 的数据库
Riot: 为您的 homeserver 预配置的 Web 界面
Let's Encrypt: 用于 Riot 和 Synapse 的 TLS 证书
小型 架构概述
先决条件
- Git
- Ansible >= 2.6
- DNS 条目
- A 记录
- matrix-machine.yourdomain.tld. 的 A 记录
- riot-webclient.yourdomain.tld. 的 A 记录
- SRV 记录
_matrix._tcp.yourdomain.tld. 3600 IN SRV 10 5 443 matrix-machine.yourdomain.tld.
_matrix-identity._tcp.yourdomain.tld. 3600 IN SRV 10 5 443 matrix-machine.yourdomain.tld.
- A 记录
您应该有这样的 SRV 条目,以便告诉其他 HomeServers 应该使用哪个端口进行通信。此外,还将在 {{ matrix_well_known_location }} 下创建 .well-known 文件。您可以将这些文件移动到为您的顶级域提供服务的服务器上。
支持的操作系统
- Ubuntu 18.04
- Debian 9
它应该也可以在任何基于 systemd 的操作系统上顺利运行。您可以自由测试并给予反馈(或提交 PR 以添加对您喜欢的系统的支持)。
安装
所有变量都定义在 roles/matrix-synapse-auto-deploy/defaults/main.yml 中。您需要根据您的需求进行调整。请查看 playbook.example.yml 文件,了解最重要的变量。
ansible-playbook playbook.example.yml --extra-vars "host=matrix.domain.com" -b -K
享受
现在您可以通过 riot webclient 连接到您的 Homeserver,或者在任何其他客户端上指定您的 Homeserver。