Skip to content

Latest commit

 

History

History
152 lines (98 loc) · 5.23 KB

File metadata and controls

152 lines (98 loc) · 5.23 KB

Teamgram Server

中文 | English


基于 Go 实现的开源 MTProto 服务端,非官方实现。兼容 Telegram 客户端,支持私有化部署。

功能特性

  • MTProto 2.0
    • Abridged
    • Intermediate
    • Padded intermediate
    • Full
  • API Layer: 228
  • Core features
    • private chat
    • basic group
    • contacts
    • web

架构

架构图

前置依赖

组件 用途
MySQL 5.7+ / 8.0 主数据存储
Redis 缓存、会话、去重
etcd 服务发现与配置
Kafka 消息与事件管道
MinIO 对象存储
FFmpeg 媒体转码(需在服务端安装)

版本建议与可选监控栈详见 依赖与运行环境(specs)。

无 Docker 时的安装文档:

Docker 部署: install-docker.md(docker-compose 完整栈)。

一键环境(Docker): 使用 docker-compose-env.yaml,详见 README-env-cn.md / README-env-en.md。


手动安装

从源码构建并运行服务时,请按以下文档逐步操作:

需要 Go 1.21+。需自行安装并配置依赖(MySQL、Redis、etcd、Kafka、MinIO、FFmpeg),初始化数据库与 MinIO,再编译并运行。


Docker 安装

使用 Docker 一键运行完整栈。无需手动初始化数据:依赖栈首次启动时会自动初始化数据库(挂载 SQL)和 MinIO 桶(通过 minio-mc)。

1. 克隆仓库

git clone https://github.com/teamgram/teamgram-server.git
cd teamgram-server

2. 启动依赖栈

将启动 MySQL、Redis、etcd、Kafka、MinIO 及可选监控组件。数据库与 MinIO 桶会自动完成初始化。

docker compose -f docker-compose-env.yaml up -d

3. 启动应用

docker compose up -d

日志、监控与链路追踪

模块 简述 详细文档
日志 Filebeat → Kafka(teamgram-log)→ go-stash → Elasticsearch → Kibana。配置:teamgramd/deploy/filebeat/conf/filebeat.yml、teamgramd/deploy/go-stash/etc/。 日志收集(English)
监控 Prometheus 拉取指标,Grafana 展示。在 teamgramd/etc2/*.yaml 中配置 Prometheus。配置:teamgramd/deploy/prometheus/server/prometheus.yml。 服务监控(English)
链路追踪 go-zero 支持 Jaeger / Zipkin,在 teamgramd/etc2/*.yaml 中配置 Telemetry。docker-compose-env.yaml 已包含 Jaeger。 链路追踪(English)

兼容客户端

默认登录验证码: 12345(生产环境请修改。)

Platform Repository Patch Link
Android https://github.com/teamgram/teamgram-android teamgram-android
iOS https://github.com/teamgram/teamgram-ios teamgram-ios
Desktop (TDesktop) https://github.com/teamgram/teamgram-tdesktop teamgram-tdesktop

文档


社区与反馈


企业版

以下能力在企业版中提供,请联系作者:

  • sticker/theme/chat_theme/wallpaper/reactions/secretchat/2fa/sms/push(apns/web/fcm)/web/scheduled/autodelete/...
  • channels/megagroups
  • audio/video/group/conferenceCall
  • bots
  • miniapp

社区版与企业版边界见 specs/roadmap.md。


许可证

Apache License 2.0。


Star ⭐

若本项目对你有帮助,欢迎 Star。