avatar

麦兜的小站

MDO.INK

  • 首页
  • 随笔
  • 知识库
  • 归档
  • 动态
  • 标签
  • 关于
Home 【docker】私有IM | Matrix的部署与使用
文章

【docker】私有IM | Matrix的部署与使用

Posted 2025-03-3 Updated 2025-03- 3
By power 已删除用户
17~22 min read

打造自己的私有 IM,私有聊天室~

官网:Matrix.org

官方安装文档:Installation – Synapse (matrix-org.github.io)

官方 docker:matrixdotorg/synapse – Docker Image | Docker Hub

演示:

夜梦这里使用的是雨云的服务器,长期全场景九折 + 首月五折优惠链接:https://www.rainyun.com/

更多服务器推荐请看:服务器推荐 | 部分服务器测评

此项目必须使用域名,通过 namesilo 注册域名可以使用 1 美元优惠码:yemeng。

在开始部署之前,你需要安装 docker 和 docker-compose。具体安装见:【docker】在服务器上安装 docker/docker-compose

创建文件夹:

mkdir -p /root/data/docker_data/matrix/datacd /root/data/docker_data/matrix

你需要将域名解析到服务器,然后修改下面代码中 SYNAPSE_SERVER_NAME 的值为你的域名,例如 matrix.yemengstar.com:

docker run -it --rm     -v /root/data/docker_data/matrix/data:/data     -e SYNAPSE_SERVER_NAME=matrix.yemengstar.com     -e SYNAPSE_REPORT_STATS=yes     matrixdotorg/synapse:latest generate

运行以后,homeserver.yaml 会自动生成在 /var/lib/docker/volumes/synapse-data/_data 中,你可以查看这个配置文件,必要的时候可以进行修改。

查看 homeserver.yaml:

cd datavim homeserver.yaml

默认生成的配置如下:

# Configuration file for Synapse.## This is a YAML file: see [1] for a quick introduction. Note in particular# that *indentation is important*: all the elements of a list or dictionary# should have the same indentation.## [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html## For more information on how to configure Synapse, including a complete accounting of# each option, go to docs/usage/configuration/config_documentation.md or# https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.htmlserver_name: "matrix.yemengstar.com"pid_file: /data/homeserver.pidlisteners:  - port: 8008    tls: false    type: http    x_forwarded: true    resources:      - names: [client, federation]        compress: falsedatabase:  name: sqlite3  args:    database: /data/homeserver.dblog_config: "/data/matrix.yemengstar.com.log.config"media_store_path: /data/media_storeregistration_shared_secret: "***"report_stats: truemacaroon_secret_key: "***"form_secret: "***"signing_key_path: "/data/matrix.yemengstar.com.signing.key"trusted_key_servers:  - server_name: "matrix.org"  # vim:ft=yaml

默认的配置文件没有开启注册功能,所以需要我们手动开启一下。

英文输入法下按 i 进入编辑模式后,在这个配置文件的最后加入:

enable_registration: trueenable_registration_without_verification: true

按 esc 后,输入:wq 保存退出。当然你可以选择直接把这个配置文件删了然后编辑好全部贴入。

你也可以新添加一些环境变量,夜梦因为用不到所以就不写了~(懒)~,需要的小伙伴可以查看官方给出的额外的环境变量的配置:matrixdotorg/synapse – Docker Image | Docker Hub

在 /root/data/docker_data/matrix 文件夹中创建运行配置文件:

贴入:

version: "3.3" services:  synapse:    image: "matrixdotorg/synapse:latest"    container_name: "matrix_synapse"    restart: unless-stopped    ports:      - 8008:8008    volumes:      - "./data:/data"    environment:      VIRTUAL_HOST: "matrix.yemengstar.com"      VIRTUAL_PORT: 8008      LETSENCRYPT_HOST: "matrix.yemengstar.com"      SYNAPSE_SERVER_NAME: "matrix.yemengstar.com"      SYNAPSE_REPORT_STATS: "yes"

设置默认权限:

chown -R 991:991 /root/data/docker_data/matrix/data

运行:

你需要完成反向代理并开启 SSL,具体为你的域名 -> 服务器IP:8008,反代可以参考下面两篇文章:

【docker】反向代理神器 ——Nginx Proxy Manager 的安装

【docker】Nginx Proxy Manager 的使用

具体如下图所示:

访问域名可以看到下面的界面:

夜梦推荐直接下载官方的 app 用,省的折腾了~

下载地址:Download Element

官方客户端安装好打开,长下面这样:

我们点编辑,添加自己的服务器(域名):

创建新用户:

注册需要强密码。成功登录~

强烈建议在注册完用户以后,关闭注册功能:

enable_registration: falseenable_registration_without_verification: false

然后重启一下 docker 容器:

docker restart <CONTAINER ID>

聊天~

知识库
License:  CC BY 4.0
Share

Further Reading

Jul 31, 2025

如何实现接口幂等性

通俗的说,用户在系统中有操作,不管重复多少次,都应该产生一样的效果或返回一样的结果的。 幂等性的概念 幂等(Idempotent)是一个数学与计算机学的概念,常见于抽象代数中。 f(n)=1^n//无...

Jul 19, 2025

10个npm工具包

有了npm之后,前端人员真的是过上好日子了。我们可以直接把别人写好的工具包拿来用,非常的方便。 1.day.js-轻量日期处理 npminstalldayjs importdayjsfrom'd...

Jul 17, 2025

How to set up PHP7.4 on MacOS.

Thisisallverywellandgood.Apartfromonesmallinsignificantthing… TheversionofPHPinuseiscurrently7.4. Th...

OLDER

ThinkPHP5.1设置允许跨域的几种办法

NEWER

pytest框架-详解

Recently Updated

  • 如何实现接口幂等性
  • 10个npm工具包
  • How to set up PHP7.4 on MacOS.
  • Automa:一键自动化,网页数据采集与工作流程优化专家Automa:解锁自动化
  • Mac 下用 brew 搭建 LNMP

Trending Tags

thinkphp clippings

Contents

©2025 麦兜的小站. Some rights reserved.

Using the Halo theme Chirpy