{"id":13511623,"url":"https://github.com/teamgram/teamgram-server","last_synced_at":"2025-05-14T00:09:22.347Z","repository":{"id":37475805,"uuid":"159581721","full_name":"teamgram/teamgram-server","owner":"teamgram","description":"Unofficial open source mtproto server written in golang with compatible telegram client. ","archived":false,"fork":false,"pushed_at":"2025-05-07T10:54:23.000Z","size":79278,"stargazers_count":1978,"open_issues_count":5,"forks_count":388,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-05-07T11:37:57.121Z","etag":null,"topics":["chat","go","golang","im","im-server","messaging","messenger","mtproto","mtproto-server","telegram","telegram-server"],"latest_commit_sha":null,"homepage":"https://teamgram.net","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teamgram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-29T00:04:00.000Z","updated_at":"2025-05-07T10:54:28.000Z","dependencies_parsed_at":"2025-04-10T18:47:25.129Z","dependency_job_id":"bee6f354-e9e0-4f20-b078-9433c3d8d1a2","html_url":"https://github.com/teamgram/teamgram-server","commit_stats":null,"previous_names":["nebula-chat/chatengine"],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamgram%2Fteamgram-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamgram%2Fteamgram-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamgram%2Fteamgram-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamgram%2Fteamgram-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teamgram","download_url":"https://codeload.github.com/teamgram/teamgram-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254044138,"owners_count":22005085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","go","golang","im","im-server","messaging","messenger","mtproto","mtproto-server","telegram","telegram-server"],"created_at":"2024-08-01T03:01:01.557Z","updated_at":"2025-05-14T00:09:17.339Z","avatar_url":"https://github.com/teamgram.png","language":"Go","funding_links":[],"categories":["Go","Repositories","Libraries that use [go-zero](https://github.com/tal-tech/go-zero)"],"sub_categories":[],"readme":"# Teamgram - Unofficial open source [mtproto](https://core.telegram.org/mtproto) server written in golang\n\u003e open source mtproto server implemented in golang with compatible telegram client.\n\n## Introduce\nOpen source [mtproto](https://core.telegram.org/mtproto) server implementation written in golang, support private deployment.\n\n## Features\n- MTProto 2.0\n  - Abridged\n  - Intermediate\n  - Padded intermediate\n  - Full\n- API Layer: 201\n- private chat\n- basic group\n- contacts\n- web\n\n## Architecture\n![Architecture](docs/image/architecture-001.png)\n\n## Installing Teamgram \n`Teamgram` relies on high-performance components: \n\n- **mysql5.7**\n- [redis](https://redis.io/)\n- [etcd](https://etcd.io/)\n- [kafka](https://kafka.apache.org/quickstart)\n- [minio](https://docs.min.io/docs/minio-quickstart-guide.html#GNU/Linux)\n- [ffmpeg](https://www.johnvansickle.com/ffmpeg/)\n\nPrivatization deployment Before `Teamgram`, please make sure that the above five components have been installed. If your server does not have the above components, you must first install Missing components. \n\n- [Centos9 Stream Build and Install](docs/install-centos-9.md) [@A Feel]\n- [CentOS7 teamgram-server环境搭建](docs/install-centos-7.md) [@saeipi]\n- [Fedora 40 Build and Install](docs/install-fedora.md) [@lingyicute]\n\nIf you have the above components, it is recommended to use them directly. If not, it is recommended to use `docker-compose-env.yaml`.\n\n\n### Source code deployment\n#### Install [Go environment](https://go.dev/doc/install). Make sure Go version is at least 1.21.\n\n\n#### Get source code　\n\n```\ngit clone https://github.com/teamgram/teamgram-server.git\ncd teamgram-server\n```\n\n#### Init data\n- init database\n\n\t```\n\t1. create database teamgram\n\t2. init teamgram database\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/1_teamgram.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220321.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220326.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220328.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220401.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220412.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220419.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220423.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220504.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220721.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220826.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20220919.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20221008.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20221011.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20221016.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20221023.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20221101.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20221127.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20230707.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240107.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240108.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240111.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240112.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240113.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240114.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240420.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240620.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20240828.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20241010.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20241016.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20241026.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20241105.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20241123.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/migrate-20250109.sql\n\t\tmysql -uroot teamgram \u003c teamgramd/sql/z_init.sql\n\t```\n\n- init minio buckets\n\t- bucket names\n\t  - `documents`\n\t  - `encryptedfiles`\n\t  - `photos`\n\t  - `videos`\n\t- Access `http://ip:xxxxx` and create\n\n\n#### Build\n\t\n```\nmake\n```\n\n#### Run\n\n```\ncd teamgramd/bin\n./runall2.sh\n```\n\n### Docker deployment\n#### Install [Docker](https://docs.docker.com/get-docker/)\n\n#### Install [Docker Compose](https://docs.docker.com/compose/install/)\n\n#### Get source code\n\n```\ngit clone https://github.com/teamgram/teamgram-server.git\ncd teamgram-server\n```\n\n#### Run\n\n```  \n# run dependency\ndocker-compose -f ./docker-compose-env.yaml up -d\n\n# run docker-compose\ndocker-compose up -d\n```\n\t\n## Compatible clients\n**Important**: default signIn verify code is **12345**\n\n[Android client for Teamgram](clients/teamgram-android.md)\n\n[iOS client for Teamgram](clients/teamgram-ios.md)\n\n[tdesktop for Teamgram](clients/teamgram-tdesktop.md)\n\n## Feedback\nPlease report bugs, concerns, suggestions by issues, or join telegram group **[Teamgram](https://t.me/+TjD5LZJ5XLRlCYLF)** to discuss problems around source code.\n\n## Notes\nIf need enterprise edition:\n\n- sticker/theme/wallpaper/reactions/2fa/sms/push(apns/web/fcm)/secretchat/scheduled/...\n- channel/megagroup\n- audiocall/videocall/groupcall\n- bots\n\nplease PM the **[author](https://t.me/benqi)**\n\n## Give a Star! ⭐\n\nIf you like or are using this project to learn or start your solution, please give it a star. Thanks!\n\n## Visitors Count\n\n\u003cimg align=\"left\" src = \"https://profile-counter.glitch.me/teamgram-server/count.svg\" alt=\"Loading\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamgram%2Fteamgram-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteamgram%2Fteamgram-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamgram%2Fteamgram-server/lists"}