Host your own Telegram-compatible messaging backend instead of using Telegram's servers
Run bots against the server's Bot API on infrastructure you control
Support group video calls through the included Node.js media server component
| opengram-server/opengram | pedro-quiterio/poeancientspricehelper | tools-lua/steam-tools | |
|---|---|---|---|
| Stars | 47 | 48 | 45 |
| Language | C# | C# | C# |
| Setup difficulty | hard | easy | moderate |
| Complexity | 5/5 | 2/5 | 3/5 |
| Audience | ops devops | general | general |
Figures from each repo's GitHub metadata at analysis time.
Requires Docker Compose plus MongoDB, Redis, RabbitMQ, and MinIO running together.
Opengram is a self-hosted Telegram server written in C# on .NET 9. It is a fork of an earlier open-source project called mytelegram and implements the MTProto protocol, which is the same protocol that official Telegram clients use to communicate. Running this server means you can host your own Telegram-compatible messaging backend on your own infrastructure rather than relying on Telegram's official servers. The feature set covers the main things Telegram users expect: personal messages, groups, supergroups, channels, end-to-end encrypted secret chats, voice and video calls, bots with the standard Bot API, privacy controls, two-factor authentication, stickers, reactions, custom emoji, stories, scheduled messages, and self-deleting messages. It also includes the Stars virtual currency system and gift functionality that Telegram added in recent versions. The server is split into a set of separate services that work together, all launched through Docker Compose. Each service has a specific responsibility: one handles incoming client connections, one manages authentication, one stores sessions, two handle reading and writing data separately following a CQRS pattern, one runs the Bot API, and others handle file storage and SMS verification codes. The underlying storage uses MongoDB for the main database, Redis for caching, RabbitMQ for messaging between services, and MinIO for file storage. Group video calls go through a separate Node.js media server component. Setting it up requires Docker and Docker Compose. You configure passwords, encryption keys, and your server's external IP address through an environment file, generate the MTProto cryptographic keys, then start everything with a single compose command. After that, you connect a standard Telegram client app by pointing it at your server's address. The README is written in Russian and the project notes that you should respect the original mytelegram license terms and Telegram's trademarks.
A self-hosted Telegram-compatible server built on .NET 9 that implements the MTProto protocol across a Docker Compose microservices stack.
Mainly C#. The stack also includes C#, .NET 9, MongoDB.
License is not stated in the available content.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.