5分钟自建团队聊天服务器Chatto:完全免费、无数据库的自托管终极指南
【免费下载链接】chattoA fully-featured team and group chat application that you can easily selfhost.项目地址: https://gitcode.com/gh_mirrors/chatt/chatto
🚀Chatto 是一款功能完整的团队与群组聊天服务器,完全免费、开箱即用地支持自托管。最特别的是:它不需要传统数据库——消息、账号、权限全部存储在 NATS JetStream 里,备份还原一条命令搞定。本文带你用 Docker 在 5 分钟内跑起属于自己的聊天服务器。
为什么选 Chatto?自托管聊天工具的核心亮点
很多人想找一款免费的自托管聊天服务器,类似 Slack / Discord 的体验却不想依赖云服务。Chatto 恰好补齐了这块空白:
- 💬完整聊天体验:频道、线程、私信、表情回应、@提及、消息编辑与搜索
- 📞语音与视频通话:内置 LiveKit WebRTC 支持,开箱即用
- 📁文件附件与预览:图片、视频、GIF、链接预览一应俱全
- 🤖机器人生态:Bot 账号 + 机器人客户端库,可扩展性拉满
- 📱多端覆盖:Web(PWA)、桌面端、移动端共用一套前端
- 🔐细粒度权限:基于角色的 RBAC,支持房间级权限覆盖(见 FDR-001)
无数据库设计:为什么装起来如此简单?
传统聊天软件要配置 MySQL/PostgreSQL,而 Chatto 采用事件溯源 + NATS JetStream架构(ADR-001、ADR-033):
- 单二进制部署时,NATS 直接内嵌在进程里,零外部依赖
- 生产环境可把 NATS 独立部署,重启 Chatto 不用动数据
- 状态由事件流投影而来,天然支持审计与多副本扩展
简单说:没有建库、没有迁移、没有 ORM,数据全在事件流里。
一键安装步骤:Docker Compose 最快部署
项目自带一份完整的 dockercompose 部署示例,包含 NATS、LiveKit、Chatto 和 Caddy(自动 HTTPS)。只需 3 步:
git clone https://gitcode.com/gh_mirrors/chatt/chatto cd chatto/examples/dockercompose ./init-env.sh chat.example.com admin@example.cominit-env.sh会自动生成.env、LiveKit 配置、备份目录,并生成所有强密钥(见 init-env.sh)- 编辑
.env:改PUBLIC_URL、SMTP 邮件配置即可 - 启动并访问:
docker compose up -d # 打开 https://chat.example.com⚠️ 记得在防火墙放行 TCP 80/443/7881 与 UDP 3478/7882(语音通话需要),DNS 把
chat.example.com和livekit.子域指向服务器即可。
首次运行向导:无需邮件也能完成初始化
打开浏览器访问你的域名,会看到首次运行设置向导(FDR-047):
- 填写服务器名称、描述
- 创建本地管理员账号(用户名 + 密码即可,不要求邮件服务)
- 设置完成后永久关闭,直接登录
备份与恢复:一条命令加密备份
所有数据都能通过内置命令导出为加密归档(FDR-040):
# 加密备份(含密钥) docker compose run --rm chatto backup --encrypt --include-keys # 恢复(保持 NATS 运行) docker compose run --rm chatto restore /backups/xxx.tar.gz.age归档可在内嵌 NATS 与独立 NATS 部署之间自由迁移,换机器部署毫无压力。
如何扩展:多副本横向扩容
想扛住更多流量?示例中的 Caddy 会自动负载均衡:
docker compose up -d --scale chatto=5因为数据存在独立 NATS 中,Chatto 本身是无状态副本,扩容只需重启容器(dockercompose 示例)。
延伸阅读:更多资料路径
- 架构总览:docs/ARCHITECTURE.md
- NATS 资源清单:docs/architecture/nats-resources.md
- 运营者 API 与 CLI:FDR-028
- 语音通话功能设计:FDR-016
- 桌面端与移动端:FDR-034、FDR-048
- Kubernetes 部署参考:examples/k8s/
✅总结:Chatto 让你 5 分钟拥有免费的团队聊天服务器——无数据库、单命令备份、原生语音通话、权限细到房间级。自托管聊天,从未如此简单。
【免费下载链接】chattoA fully-featured team and group chat application that you can easily selfhost.项目地址: https://gitcode.com/gh_mirrors/chatt/chatto
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考