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

相关推荐
冬奇Lab15 小时前
OpenClaw 深度解析(五):模型与提供商系统
人工智能·开源·源码阅读
冬奇Lab15 小时前
一天一个开源项目(第42篇):OpenFang - 用 Rust 构建的 Agent 操作系统,16 层安全与 7 个自主 Hands
人工智能·rust·开源
IvorySQL19 小时前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源
IvorySQL1 天前
PostgreSQL 技术日报 (3月5日)|规划器控制力升级,内核能力再进阶
数据库·postgresql·开源
冬奇Lab2 天前
OpenClaw 深度解析(四):插件 SDK 与扩展开发机制
人工智能·开源·源码阅读
冬奇Lab2 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
南果梨2 天前
OpenClaw 完整教程!从安装到使用(官方脚本版)
前端·git·开源
IvorySQL2 天前
PostgreSQL 技术日报 (3月4日)|硬核干货 + 内核暗流一网打尽
数据库·postgresql·开源
碳基沙盒2 天前
当赛博皇上给Ai设立三省六部
开源
冬奇Lab3 天前
一天一个开源项目(第40篇):copyparty - 单文件便携文件服务器,断点续传/去重/多协议/媒体索引
开源·资讯