开源IM项目OpenIM部署流程

一、OpenIM 是什么?

OpenIM ,全称一般叫 OpenIM SDK / OpenIM Server,是一个开源的即时通讯(IM)整体解决方案。它的定位不是一个简单聊天框,而是一个:

💬 可用于商业系统的 IM 基础能力底座

GitHub 地址:

https://github.com/OpenIMSDKhttp://OpenIMSDK

二、核心能力

它支持:

  • 单聊

  • 群聊

  • 好友系统

  • 会话列表

  • 离线消息

  • 多端同步

  • 消息撤回

  • 已读回执

  • 语音/图片/文件

  • WebRTC 音视频(可扩展)

三、优点

  1. 代码全部开源,永久免费

  2. 支持高并发

  3. 社区活跃

  4. Docker 支持

  5. 多端 SDK 很齐全

四、缺点(实话实说)

  1. 部署复杂(微服务 + Kafka)

  2. 运维成本高

  3. 资源占用不小

  4. 文档不算特别清晰(踩坑不少)

  5. 升级版本容易改配置

五、适合什么场景?

适合:

  • 商业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

相关推荐
修己xj7 小时前
告别排版噩梦:一个开源SKILL,让我彻底告别公众号排版的“噩梦”
开源
GitCode官方16 小时前
开源鸿蒙跨平台直播| RN 三方库开源鸿蒙标准化适配实战分享
华为·开源·harmonyos·atomgit
梦梦代码精16 小时前
LikeShop 前后端架构升级对比总白皮书——从传统商城架构到高性能多端统一体系
docker·架构·开源
shujudang17 小时前
深入数据架构选型:开源埋点系统 vs 企业级增长分析平台的工程与业务考量
架构·数据分析·开源
江湖有缘18 小时前
基于Docker环境部署tillywork开源工作管理工具
docker·容器·开源
江华森19 小时前
【玩转 AtomCode】源码编译与架构解析:深入理解开源 AI 编码代理的内核设计
架构·开源
SLD_Allen19 小时前
阿里开源的安全沙箱解决方案 OpenSandbox
安全·开源·沙箱
广歌20 小时前
我花了半年驯养AI Agent,崩溃经历全记录
人工智能·开源
RobinDevNotes21 小时前
Langfuse:开源的大模型工程可观测平台
开源