首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【docker】私有IM | Matrix的部署与使用

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

作者头像
夜梦星尘
发布于 2024-08-20 11:17:29
发布于 2024-08-20 11:17:29
76001
代码可运行
举报
运行总次数:1
代码可运行

本文发布于157天前,最后更新于139天前,其中的信息可能有所发展或是发生改变。

1. 前言

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

官网:Matrix.org

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

官方dockermatrixdotorg/synapse – Docker Image | Docker Hub

演示:

2. 准备

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

3. 部署

3.1 生成配置文件

创建文件夹:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /root/data/docker_data/matrix/data
cd /root/data/docker_data/matrix

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd data
vim homeserver.yaml

默认生成的配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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.html
server_name: "matrix.yemengstar.com"
pid_file: /data/homeserver.pid
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    resources:
      - names: [client, federation]
        compress: false
database:
  name: sqlite3
  args:
    database: /data/homeserver.db
log_config: "/data/matrix.yemengstar.com.log.config"
media_store_path: /data/media_store
registration_shared_secret: "***"
report_stats: true
macaroon_secret_key: "***"
form_secret: "***"
signing_key_path: "/data/matrix.yemengstar.com.signing.key"
trusted_key_servers:
  - server_name: "matrix.org"


# vim:ft=yaml

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enable_registration: true
enable_registration_without_verification: true

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

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

3.2 运行synapse[1]

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim docker-compose.yml

贴入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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"

设置默认权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chown -R 991:991 /root/data/docker_data/matrix/data

运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker-compose up -d

4. 反向代理

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

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

【docker】Nginx Proxy Manager 的使用

具体如下图所示:

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

5. 配合element

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

下载地址:Download Element

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

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

创建新用户:

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
enable_registration: false
enable_registration_without_verification: false

然后重启一下docker容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker restart <CONTAINER ID>

聊天~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-3-10 2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
超详细 Matrix Synapse 部署教程:一个优秀的私有 IM 解决方案
更推荐前往博客阅读:https://www.baiyuyu.com/304.html
一条大鱼头
2024/02/28
11K4
超详细 Matrix Synapse 部署教程:一个优秀的私有 IM 解决方案
【docker】给你的网站添加聊天对话框 | Chatwoot的部署与使用
项目官网:Deploy your self-hosted Chatwoot server | Chatwoot
夜梦星尘
2024/08/20
9321
【docker】给你的网站添加聊天对话框 | Chatwoot的部署与使用
如何在CVM上安装Matrix Synapse
Matrix是分散通信的开放标准。它使用标准化API实时同步的在线消息传递到其他服务器。
苏子晨
2018/07/19
4K1
更简单的分享工具Microbin
有时候你可能想在不同电脑之间粘贴文本或分享文件,但使用百度网盘登陆、上传、分享、下载过于繁琐。为此,你可以考虑自建一个网盘,比如使用cloudreve或alist,但它们相对来说较为复杂和功能过剩。
夜梦星尘
2024/08/20
1530
更简单的分享工具Microbin
【docker】wallabag | 容我稍后阅读
有的时候我们在浏览器中发现了一篇很好的文章,但是我们并没有时间立刻阅读它,Wallabag能够帮你解决这个难题!
夜梦星尘
2024/08/20
4830
【docker】wallabag | 容我稍后阅读
【docker】搭建一个”联邦宇宙”——Misskey
misskey是一个去中心化微博,你可以搭建自己的实例,也可以加入其他人的实例。经过这两年的发展,夜梦觉得它已经算是一个比较成熟的程序了~
夜梦星尘
2024/08/20
5020
【docker】搭建一个”联邦宇宙”——Misskey
【docker/宝塔】自己的短链接服务——YOURLS
GitHub:YOURLS/YOURLS: 🔗 The de facto standard self hosted URL shortener in PHP (github.com)
夜梦星尘
2024/08/20
4160
【docker/宝塔】自己的短链接服务——YOURLS
【docker】多功能、内置编辑的图床 | Picsur
在开始部署之前,你需要安装 docker 和 docker-compose。具体安装见:【docker】在服务器上安装 docker/docker-compose
夜梦星尘
2024/08/20
2600
【docker】多功能、内置编辑的图床 | Picsur
【docker】Memos——碎片化日志卡片
官方Demo:https://demo.usememos.com/ GitHub地址:https://github.com/usememos/memos
夜梦星尘
2024/08/20
2140
【docker】开源问答平台——Answer
本文发布于563天前,最后更新于6天前,其中的信息可能有所发展或是发生改变。如有疑问请联系邮箱:admin@yemengstar.com。
夜梦星尘
2024/08/20
2010
【docker】开源问答平台——Answer
【docker】域名SSL证书监测平台 | domain-admin
Domain Admin是一个轻量级监控方案,占用系统资源较少。能够帮助你管理不同网站的SSL证书,在证书即将过期的时候进行提醒,对于Let’s Encrypt证书还可以自动续期。可以很好的解决SSL证书过期导致网站无法正常访问的问题了~
夜梦星尘
2024/08/20
3870
【docker】域名SSL证书监测平台 | domain-admin
【docker】又一个美观好用的直播录制工具 | BililiveRecorder
GitHub地址:BililiveRecorder/BililiveRecorder: 录播姬 | mikufans 生放送录制
夜梦星尘
2024/11/25
5660
【docker】又一个美观好用的直播录制工具 | BililiveRecorder
【docker】PDF编辑、使用神器 | Stirling-PDF的部署与使用
有的时候我们需要编辑PDF,但不得不说能处理PDF文件的软件真的很少。因为夜梦最近在弄一些文章,需要处理一些PDF文件,所以就找到了这么一个开源项目Stirling-PDF。试用了一下,真的十分方便!合并、拆分、加水印、加密码、加权限都可以轻松完成!
夜梦星尘
2024/08/20
1.1K0
【docker】PDF编辑、使用神器 | Stirling-PDF的部署与使用
【docker】自建一言API接口
一言官方给出的API已经足够满足大部分场景的使用,但为什么还要自行部署呢?因为一言是公益性质的,所以在使用调用方面有限制。如果网站访问量大,不可避免的会请求过快,那么你服务器的IP有可能会被拉黑一段时间(然后就加载不出一言的内容了)。自建的话就没有这个担忧了~
夜梦星尘
2024/08/20
2070
【docker】自建一言API接口
【docker】在线白板,随用随画! | Excalidraw
没有合适的软件让你画画?Excalidraw或许是极佳的选择!它支持网页绘画,绘图内容仅保存在浏览器中。
夜梦星尘
2024/08/20
3590
【docker】在线白板,随用随画! | Excalidraw
【docker】部署自己的每日热榜 | DailyHot
项目地址:imsyy/DailyHotApi: 今日热榜 API,一个聚合热门数据的 API 接口,支持 Vercel 部署
夜梦星尘
2024/08/20
5100
【docker】部署自己的每日热榜 | DailyHot
[Gitlab][docker]自托管代码平台Gitlab | 搭建/使用教程
GIT(必装):Git – Downloading Package (git-scm.com)。装完以后在目标文件夹右键会有Git Bash Here和Git GUI Here两个选项
夜梦星尘
2024/08/20
1.2K0
[Gitlab][docker]自托管代码平台Gitlab | 搭建/使用教程
【docker】Kavita | 在线阅读 极致体验
夜梦这里有一些EPUB格式的书,但是一般的软件都无法读取,自然也就无法阅读了。如果你愿意付费的话,neat-reader是非常好的阅读器。如果你想自己折腾的话,你可以尝试使用Kavita!
夜梦星尘
2024/08/20
4400
【docker】Kavita | 在线阅读 极致体验
【docker】网页SSH | Next-Terminal
夜梦在之前的文章中已经介绍过一个网页SSH项目了,就是:WebSSH神器 | SSHwifty。还有一个小型的webSSH项目:WebSSH。今天夜梦再介绍一个不止可以SSH的docker项目,它还可以拥有远程桌面、多用户管理、系统运维等功能。
夜梦星尘
2024/08/20
5481
【docker】网页SSH | Next-Terminal
【docker】记录订阅,看清消费 | Wallos
夜梦有一些服务器用来进行学习和测试,其中有些还挺划算的,希望能够续费下去。除了云,夜梦还有许多“订阅”的服务,比如B站大会员、知乎严选、网易云音乐的VIP……这些会员和订阅需要续费的时间节点各不相同,并且杂七杂八的费用也不少。
夜梦星尘
2024/08/20
2180
【docker】记录订阅,看清消费 | Wallos
推荐阅读
相关推荐
超详细 Matrix Synapse 部署教程:一个优秀的私有 IM 解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档