【docker】私有IM | Matrix的部署与使用
打造自己的私有 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>
聊天~