Matrix
Matrix 是一个雄心勃勃的全新生态系统和协议,用于开放的联邦式即时消息和 VoIP。它由服务器、各种客户端 和 桥接 软件组成,用于连接到现有的消息解决方案,例如 IRC(Internet Relay Chat)。
Alpine Linux IRC 聊天室 被桥接到 Matrix。通用 Alpine Linux 房间可以在 Matrix 上找到:#_oftc_#alpine-linux:matrix.org。如果您想从 Matrix 访问任何其他 Alpine Linux 聊天,请相应地替换 IRC 频道名称。
安装
Matrix 协议有多个服务器实现,可在 Alpine Linux 上使用。
参考服务器实现 Synapse 是最常用的服务器,它以 synapse 软件包的形式提供。自 Alpine 3.11 起可用。
还有一个用 Go 编写的第二代 Matrix homeserver,它以 dendrite 软件包的形式提供。它旨在提供 Synapse 的高效、可靠和可扩展的替代方案,但此时它的功能不如 Synapse 完整。自 Alpine 3.15 起可用。
还有另一个用 Rust 编写的 Matrix homeserver,它以 conduit 软件包的形式提供,目前仅在 Alpine Edge 中可用。
在开始安装任何东西之前,请确保您拥有最新的软件包。
Matrix Synapse 服务器
本 Wiki 将介绍 Matrix Synapse 服务器的安装、配置和设置,因为它是目前最常用且功能最完整的 Matrix 协议服务器。
安装 Matrix Synapse 服务器
Synapse 软件包在 Alpine Linux 仓库中可用。要安装它,请运行
apk update apk add synapse
安装 Alpine Linux synapse 软件包时,它将创建一个名为 synapse 的用户。
配置与设置
在安装过程中,Alpine Linux synapse 软件包将创建一个默认的 synapse 配置文件,该文件位于 /etc/synapse/homeserver.conf。
您将需要参考 Matrix Synapse 配置手册 来配置各种选项。确保 synapse 用户可以读取/编辑配置目录
chown -R synapse:synapse /etc/synapse
将 synapse 添加到默认运行级别,以便在启动时启动它
rc-update add synapse
反向代理
如果您希望通过互联网访问您的 Matrix Synapse 服务器,则强烈建议配置一个 反向代理 来实现这一点。这样做的一个优点是,您可以将默认 HTTPS 端口 (443) 暴露给 Matrix 客户端,而无需以 root 权限运行 Synapse。
Matrix 开发者提供了 非常好的文档,其中包含反向代理示例。我更喜欢 Nginx,因为我最熟悉它,但您也可以选择 Apache、Caddy 或 HAProxy 放在 Synapse 前面。
数据库
安装 synapse 后,您需要选择要与它一起使用的数据库。默认情况下,Synapse 使用 SQLite 数据库,这仅适用于测试目的,不应在生产环境中使用。
Matrix Synapse 开发者建议使用 PostgresSQL 作为您的数据库后端。有关安装 PostgresSQL 的更多详细信息,请参阅 PostgreSQL 文章。建议您安装可用的最新 PostgreSQL 版本,目前是 PostgreSQL 16。