Coolify logoCoolify

Matrix (Synapse)

Matrix 仪表板

什么是 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"
}

链接

On this page