内容提要
本文介绍如何自建Matrix去中心化通信协议及Element客户端。需准备海外服务器、域名和Docker环境,通过Synapse镜像生成配置,使用Nginx Proxy Manager或宝塔进行反向代理,并配置防火墙端口。搭建完成后建议关闭注册,更新时执行docker-compose pull,卸载则删除目录。
延伸解读
自建 Matrix 的硬件与网络门槛
文章建议使用非大陆服务器,如香港腾讯轻量或美国西部 Racknerd,配置 1C2G 起步,硬盘可大些。系统推荐 Debian 11 或 Ubuntu,需预装 Docker 和 Docker-compose。若用国内服务器,Docker 镜像可能已配置国内源,但作者明确不建议。此外,域名非必需但建议,用于反向代理和 HTTPS。
反向代理与 HTTPS 的必要性
搭建 Synapse 后需通过 Nginx Proxy Manager 或宝塔面板反向代理到 8008 端口,并配置域名解析。Element 客户端也需同样处理,且务必启用 HTTPS,否则可能出现问题。文章提到可将 Matrix 和 Element 分两个二级域名反代,原因见 GitHub issue #1977,但未详述。
部署后的安全与维护要点
搭建完成并注册用户后,建议关闭注册功能,将 homeserver.yaml 中的 enable_registration 和 enable_registration_without_verification 改为 false。更新时进入安装目录执行 docker-compose pull 和 docker-compose up -d,避免使用 stop。卸载则先 docker-compose down,再删除目录即可。
Q&A
Matrix和Element有什么区别?
Matrix是一个开放的、去中心化的通信协议,用于实时通信,包括即时消息、音频和视频通话。Element是基于Matrix协议的一个客户端应用,有Web、桌面和移动版本。简而言之,Matrix是协议,Element是使用该协议的客户端。
搭建自己的Matrix服务器需要准备哪些环境和工具?
需要一台非大陆的服务器(如香港腾讯轻量应用服务器),安装Debian或Ubuntu系统,安装Docker和Docker-compose,建议准备一个域名并解析到服务器,可选安装Nginx Proxy Manager或宝塔面板进行反向代理。
如何用Docker生成Matrix Synapse的配置文件?
运行命令:sudo docker run -it --rm -v /root/data/docker_data/matrix/data:/data -e SYNAPSE_SERVER_NAME=你的域名 -e SYNAPSE_REPORT_STATS=yes matrixdotorg/synapse:latest generate,然后修改生成的homeserver.yaml文件。
搭建完成后如何关闭Matrix的注册功能?
在homeserver.yaml文件中,将enable_registration和enable_registration_without_verification两项都改为false,然后重启服务即可。
如何更新和卸载自建的Matrix服务?
更新:进入安装目录,运行docker-compose pull和docker-compose up -d,然后docker image prune清理旧镜像。卸载:运行docker-compose down,然后删除安装目录rm -rf /root/data/docker_data/matrix。
为什么建议将Matrix和Element分两个不同的域名进行反向代理?
文章提到具体原因见#1977,但未详细说明。通常是为了避免跨域问题或便于独立配置,建议分开反代。