Matrix (Synapse)
什么是 Matrix?
Matrix 是一个开源的去中心化通信协议,支持安全、实时的通信。它提供端到端加密的消息传递、语音和视频通话、文件共享以及基于房间的对话。Matrix 是 Slack 或 Discord 等专有平台的优秀替代方案,具备联邦通信能力,允许不同的 Matrix 服务器之间相互通信。
什么是 Synapse?
Synapse 是一个 Matrix 主服务器,使用 Python/Twisted 编写,由 Matrix 的创建者 Element 团队开发和维护。
部署变体
在 Coolify 中,Synapse Matrix 服务器提供两种部署配置:
使用 SQLite 的 Synapse
- 数据库: SQLite(嵌入式)
- 适用场景: 简单部署、测试或个人 Matrix 托管
- 组件: 单个包含内置 SQLite 数据库的 Synapse 容器
使用 PostgreSQL 的 Synapse(推荐)
- 数据库: PostgreSQL
- 适用场景: 需要更好性能和可扩展性的生产环境部署
- 组件:
- Synapse 容器
- PostgreSQL 容器
- 自动数据库配置和健康检查
安装步骤
所有部署变体的安装步骤相同。
Matrix 域名设置(重要)
Matrix 使用一个称为服务器名称的值来生成用户 ID 和房间 别名。
- 服务器名称
example.org将生成:@user:example.org#room:example.org
Matrix 服务器本身可以在不同的域名上运行,例如
matrix.example.org。
推荐设置
- Matrix 服务器名称:
example.org - Matrix Synapse 服务器服务域名:
matrix.example.org
这允许用户和房间使用 :example.org,同时将 Synapse 托管在
子域上。
Coolify 配置
域名
在服务配置中,将域名设置为 matrix.example.org:8008
环境变量
设置以下环境变量:
SYNAPSE_SERVER_NAME=example.org
委托(必需)
由于 Synapse 运行在 matrix.example.org 上,但标识为 example.org,
因此需要委托。
在 https://example.org 上提供以下文件:
/.well-known/matrix/client用于服务器委托
{
"m.homeserver": {
"base_url": "https://matrix.example.org"
}
}/.well-known/matrix/server用于联邦发现
{
"m.server": "matrix.example.org:443"
}