Skip to content

kany2000/syntalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

感谢使用海楼端点聊天系统 https://syntalk.737703.xyz,欢迎反馈和交流!

Matrix端点聊天系统部署指南

本项目基于 Matrix 协议,使用 Synapse 作为基础服务器,Element Web 作为前端客户端,通过 Docker Compose 进行容器化部署。支持通过自定义域名和 HTTPS 访问,适合内网穿透和云端部署。


目录


环境准备

  • 一台支持 Docker 和 Docker Compose 的服务器(Linux 推荐)
  • 域名解析到服务器或通过 Cloudflare 隧道实现内网穿透
  • 已安装 Docker 和 Docker Compose(版本3及以上)

Synapse 服务器部署

  1. 创建数据目录:

mkdir -p ./data

text

  1. 准备 homeserver.yaml 配置文件,关键配置示例:

server_name: "你的matrix服务器ip或域名" public_baseurl: "你的matrix服务器域名" #ip不用就不用这项 listeners:

  • port: 8008 tls: false type: http x_forwarded: true bind_addresses: ['0.0.0.0'] resources:
  • names: [client, federation] compress: false database: name: psycopg2 args: user: synapse01 password: Login01 database: synapse host: postgres port: 5432 cp_min: 5 cp_max: 10

text

  1. 配置 docker-compose.yml(示例包含 Synapse 和 PostgreSQL):

version: "3"

services: synapse: image: matrixdotorg/synapse:latest container_name: synapse restart: unless-stopped volumes:

  • ./data:/data ports:
  • "8008:8008" environment:
  • SYNAPSE_SERVER_NAME=你的matrix服务器ip或域名
  • SYNAPSE_REPORT_STATS=yes

text postgres: image: postgres:14-alpine container_name: synapse-postgres restart: unless-stopped environment: - POSTGRES_USER=用户名 - POSTGRES_PASSWORD=密码 - POSTGRES_DB=synapse volumes: - ./pgdata:/var/lib/postgresql/data text

  1. 启动服务:

docker compose up -d

text

  1. 查看日志确认启动成功:

docker logs -f synapse

text


Element Web 客户端部署

  1. 准备 config.json,示例:

{ "default_server_config": { "m.homeserver": { "base_url": "你的matrix服务器ip或域名" #IP用http://,域名用https:// }, "m.identity_server": { "base_url": "https://matrix.org" #如果有自建的身份服务器 } }, "brand": "matrix端点聊天系统", "room_directory": { "servers": ["你的matrix服务器ip或域名"] #IP用http://,域名用https:// } }

text

  1. docker-compose.yml 添加 Element Web 服务:

element-web: image: vectorim/element-web:latest container_name: element-web restart: unless-stopped ports:

  • "8009:80" volumes:
  • ./config.json:/app/config.json:ro

text

  1. 启动 Element Web:

docker compose up -d element-web

text

  1. 通过浏览器访问 你的elementweb服务域名或ip(或对应域名和端口)使用客户端。

配置说明

  • 域名和 HTTPS
    通过 Cloudflare 隧道或反向代理实现 HTTPS 访问,确保客户端和服务器都使用 HTTPS,避免混合内容问题。

  • 数据库
    推荐使用 PostgreSQL,确保数据库配置正确,数据持久化。

  • 邮件验证
    配置 SMTP 邮箱发送验证邮件,确保 homeserver.yamlemail 部分正确填写。


邮件验证配置

email: smtp_host: smtp.qq.com #也可以用其他邮箱 smtp_port: 587 #qq的465尝试有问题,只能用587 smtp_user: "xxxxxx@qq.com" smtp_pass: "你的SMTP授权码" require_transport_security: true app_name: "matrix端点聊天系统" notif_from: "matrix端点聊天系统 xxxxxx@qq.com" enable_notifs: true notif_for_new_users: true validation_token_lifetime: 15m

text


常见问题及解决

  • 无法通过 HTTPS 访问:确认 Cloudflare 隧道或反向代理配置正确,且 Synapse 监听地址允许外部访问。
  • 邮件验证链接失效或提示 Unknown session_id:验证链接只能点击一次,过期需重新发送验证邮件。
  • 客户端无法登录或连接失败:检查 config.json 中 homeserver 地址是否正确使用 HTTPS 域名。

后续扩展

  • 配置 .well-known 文件,实现客户端自动发现 homeserver 和身份服务器。
  • 添加 TURN 服务器支持,实现语音视频通话功能。
  • 优化备份策略,定期备份数据库和媒体文件。
  • 配置联邦通信相关 DNS SRV 记录和端口转发。

感谢使用海楼端点聊天系统 https://syntalk.737703.xyz,欢迎反馈和交流!


此文档基于 2025 年 7 月的部署经验编写。

About

海楼端点聊天系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors