开源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

相关推荐
一只叫煤球的猫6 小时前
ThreadForge 源码解读三:从任务执行到并发编排,ScopeJoiner 是怎么工作的?
后端·性能优化·开源
FIT2CLOUD飞致云6 小时前
移动端审批功能上线,导入功能持续增强,Cordys CRM发布v1.8.0版本
ai·开源·crm·销售管理·ai crm·cordys crm
开源推荐官8 小时前
本地图切OSS,tigshop开源商城存储驱动切换记录
开源
名字不好奇9 小时前
如何进行软件设计 - OSCHINA - 开源 × AI · 开发者生态社区
开源
开源推荐官9 小时前
刚上架的商品搜不到,tigshop开源商城搜索是怎么查的
mysql·开源·php
m4Rk_10 小时前
【论文阅读】Agent 记忆机制(20):RecMem——只在信息反复出现时进行长期记忆巩固
论文阅读·人工智能·学习·开源·github
路由侠内网穿透.10 小时前
本地部署开源日志收集系统 Log Bull 并实现外部访问
运维·服务器·网络·数据库·开源
啊这啊这 六弦之首11 小时前
Openai Codex 重大更新 已支持接入任意开源大模型
开源
fthux18 小时前
RenoPit 能为普通业主做什么?看懂图纸、审查合同,提前发现装修坑
javascript·人工智能·ai·开源·github·chrome扩展·open source·edge扩展·firefox扩展
冬奇Lab1 天前
每日一个开源项目(第169篇):AIRI - 开源自托管 AI 虚拟伴侣,能打 Minecraft 的 Neuro-sama 复现
人工智能·开源·资讯