Repolode
openimsdk

openimsdk/open-im-server

Open-source instant messaging server in Go that developers integrate into their own apps, with SDK, REST API and webhooks.

Open-source alternative to:SlackSendbird

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. 1

    Read the source code deployment guide

  2. 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