一、项目概述
OpenIM 是一个开源的即时通讯解决方案,不同于 Telegram、Signal 等独立聊天应用,它主要为开发者提供可集成的即时通讯功能。该项目包含 OpenIMSDK 和 OpenIMServer 两大组件,支持消息收发、用户管理、群组管理等核心功能,具有高度可定制化的特点。
二、环境准备
- 操作系统:支持 Linux/Windows/Mac
- 基础环境:
- Git
- Go 1.15+ 版本
- Docker 及 Docker Compose
- 磁盘空间:建议准备大容量存储目录
三、源码获取与初始化
git clone https://github.com/openimsdk/open-im-server
cd open-im-server
# 建议使用 release 分支
git checkout release-v3.7
如果是 Windows 环境下载后上传到 Linux,需执行权限赋予命令:
find ./ -name "*.sh" | xargs chmod +x
四、组件部署
通过 Docker Compose 一键部署依赖组件:
docker-compose up -d
该命令将自动部署:
- MongoDB
- Redis
- Zookeeper
- Kafka
- MinIO
- Web/Admin 前端镜像
五、关键配置修改
- 修改
.env文件:
USER=root
PASSWORD=your_strong_password # 建议 8 位以上不含特殊符号
ENDPOINT=http://your_external_ip:10005 # 使用 MinIO 必需
DATA_DIR=/your/storage/path
- 修改配置文件:
config/minio.yml: 设置 externalAddress 为http://外网 IP:portconfig/openim-api.yml: 修改 grafanaURL 为http://外网 IP:portconfig/usualConfig.yaml: 调整 token 策略和消息验证设置
六、服务启动与验证
./install_im_server.sh # 初始化部署
docker-compose down && docker-compose up -d # 重启服务
七、编译源码(可选)
如需自定义编译:
cd cmd/Open-IM-SDK-Core
chmod +x ../../script/*.sh
../../script/batch_build_all_service.sh
# 出现 all services build success 即编译成功


