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 服务器

  • mxisd: 联邦 Matrix 身份服务器,进一步提高隐私性 (文档)

  • 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.

您应该有这样的 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。

关于项目

Ansible playbook for managing a matrix node with synapse and riot

安装
ansible-galaxy install buluma.matrix-synapse-auto-deploy
许可证
Unknown
下载
165
拥有者
DevOps Engineer