开源IM项目OpenIM部署流程
一、OpenIM 是什么?
OpenIM,全称一般叫 OpenIM SDK / OpenIM Server,是一个开源的即时通讯(IM)整体解决方案。它的定位不是一个简单聊天框,而是一个:
💬 可用于商业系统的 IM 基础能力底座
GitHub 地址:
https://github.com/OpenIMSDKhttp://OpenIMSDK
二、核心能力
它支持:
- 单聊
- 群聊
- 好友系统
- 会话列表
- 离线消息
- 多端同步
- 消息撤回
- 已读回执
- 语音/图片/文件
- WebRTC 音视频(可扩展)
三、优点
- 代码全部开源,永久免费
- 支持高并发
- 社区活跃
- Docker 支持
- 多端 SDK 很齐全
四、缺点(实话实说)
- 部署复杂(微服务 + Kafka)
- 运维成本高
- 资源占用不小
- 文档不算特别清晰(踩坑不少)
- 升级版本容易改配置
五、适合什么场景?
适合:
- 商业IM
- 需要完整聊天体系
- 多端同步
- 有运维能力
不适合:
- 只是简单聊天
- 小项目
- 单服务器轻量需求
六、docker 快速部署
官方提供了快速部署的包:
# 我是在/opt目录下执行的 cd /opt git clone https://github.com/openimsdk/openim-docker
直接运行:
cd /openim-docker docker compose down docker compose up -d 它用到了非常多的依赖,比如redis\minio\etcd\kafka等等。因此如果你的服务器是干净的话,那下载完镜像就会正常启动了,但是如果你服务器上docker已经运行了部分实例,那得改改docker compose 配置文件。
停止服务:
docker compose down我以redis为例:

我这里有个名为redis的实例,端口占用的是6379。
这个实例又不能删掉。因此我们只能修改openim的配置:
vim docker-compose.yaml首先是修改实例名、然后改相应端口等等。熟悉docker的朋友应该是没什么问题。

操作完基本上就可以正常启动了:

这个是启动健康检查的状态。等待1-2分钟即可:

七、相关默认参数\端口
WebSocket 地址一般是:
ws://你的服务器IP:10001
HTTP API:
http://你的服务器IP:10002
聊天demo:
http://你的服务器IP:11001
