Self-hosted team chat running on Cloudflare Workers, with realtime messaging, a two-way Telegram bridge, and server-side encrypted messages and files.
- Stars
- 16,705
- Forks
- 2,976
- Open issues
- 129
- Last commit
- 3 days ago
What is it?
OpenIM Server is the backend half of OpenIM, an instant messaging solution built for developers rather than as a ready-to-install chat app. It is paired with the OpenIM SDK, which runs in client applications and handles local storage, listener callbacks, and connection management. Together they cover messaging, user management, friend relationships, group functions and session handling.
The server uses a microservices architecture and can run in cluster mode with a gateway and several RPC services. It can be deployed from source, with Docker, or on Kubernetes, and runs on Linux, Windows and macOS on both ARM and AMD CPUs. The project also exposes a REST API so business systems can create groups or push messages, and webhooks that send requests to business servers before or after certain events.
The README describes support for large groups and high user counts. An online demo covers iOS, Android, H5, PC and Web clients.
Key features
- 01Microservices architecture with gateway and RPC services in cluster mode
- 02Deployment from source, Docker, or Kubernetes
- 03REST API for business systems to create groups and push messages
- 04Webhooks that call business servers before or after events
- 05Paired Go SDK with local storage and connection management
Use cases
- Adding instant messaging to an existing product without building the message infrastructure
- Building a chat backend for mobile, web or desktop clients with group and friend features
- Connecting chat events to business logic through webhooks or the REST API
Quick start
- 1
Read the source code deployment guide
- 2
Or choose the Docker deployment guide
Things to know
- Built for developers to integrate into their own apps, not a ready-to-use chat app.
- Deployment requires setting up a server stack, so self-hosting takes real effort.
Topics
FAQ
- What is open-im-server?
- Open-source instant messaging server in Go that developers integrate into their own apps, with SDK, REST API and webhooks. OpenIM Server is the backend half of OpenIM, an instant messaging solution built for developers rather than as a ready-to-install chat app. It is paired with the OpenIM SDK, which runs in client applications and handles local storage, listener callbacks, and connection management. Together they cover messaging, user management, friend relationships, group functions and session handling.
- Is open-im-server free to use? What license does it have?
- open-im-server is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is open-im-server still maintained?
- Actively maintained. The last commit to open-im-server was on Oct 16, 2026.
- What can I use open-im-server for?
- Adding instant messaging to an existing product without building the message infrastructure Building a chat backend for mobile, web or desktop clients with group and friend features Connecting chat events to business logic through webhooks or the REST API
- How do I install open-im-server?
- Read the source code deployment guide Or choose the Docker deployment guide
- Where can I get open-im-server?
- The source code and installation instructions are on GitHub: https://github.com/openimsdk/open-im-server
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open source Go backend shipped as a single executable, with embedded SQLite, realtime subscriptions, file and user management, and an admin UI.
Express-inspired web framework for Go, built on the fasthttp engine, for writing REST APIs and web servers.
A self-hosted personal AI assistant that runs on your own devices and answers you through messaging apps like WhatsApp, Telegram, Slack and Discord.
Self-hosted uptime monitoring tool that tracks HTTP, TCP, DNS, ping, Docker and other services with alerts and status pages.
A self-hosted, all-in-one software development service written in Go, covering Git hosting, code review, issues, packages and CI/CD.