whatisgithub

What is opengram?

opengram-server/opengram — explained in plain English

Analysis updated 2026-05-18

47C#Audience · ops devopsComplexity · 5/5Setup · hard

In one sentence

A self-hosted Telegram-compatible server built on .NET 9 that implements the MTProto protocol across a Docker Compose microservices stack.

Mindmap

mindmap
  root((repo))
    What it does
      Self hosted Telegram server
      Implements MTProto
      Microservices architecture
    Tech stack
      C sharp
      dotnet 9
      MongoDB
      Docker
    Use cases
      Own messaging backend
      Run bots
      Group video calls
    Audience
      Ops and devops

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Host your own Telegram-compatible messaging backend instead of using Telegram's servers

USE CASE 2

Run bots against the server's Bot API on infrastructure you control

USE CASE 3

Support group video calls through the included Node.js media server component

What is it built with?

C#.NET 9MongoDBRedisRabbitMQMinIODocker

How does it compare?

opengram-server/opengrampedro-quiterio/poeancientspricehelpertools-lua/steam-tools
Stars474845
LanguageC#C#C#
Setup difficultyhardeasymoderate
Complexity5/52/53/5
Audienceops devopsgeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Docker Compose plus MongoDB, Redis, RabbitMQ, and MinIO running together.

License is not stated in the available content.

So what is it?

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.

Copy-paste prompts

Prompt 1
Help me deploy opengram with Docker Compose, including MongoDB, Redis, RabbitMQ, and MinIO.
Prompt 2
Walk me through generating the MTProto cryptographic keys for opengram.
Prompt 3
Show me how to connect a standard Telegram client to my self-hosted opengram server.

Frequently asked questions

What is opengram?

A self-hosted Telegram-compatible server built on .NET 9 that implements the MTProto protocol across a Docker Compose microservices stack.

What language is opengram written in?

Mainly C#. The stack also includes C#, .NET 9, MongoDB.

What license does opengram use?

License is not stated in the available content.

How hard is opengram to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is opengram for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.