1. 准备工作
1.1 安装git(略)
1.2 安装Docker(略)
1.3 git换行符配置
Windows下使用CRLF
作为换行符. Linux和Mac使用LF
作为换行符.
我们统一使用LF作为换行符,否则Linux上运行sh文件和解析配置文件会出现错误.
在命令行窗口执行如下命令:
git config --global core.autocrlf input
git config --global core.safecrlf true
- 提交时转换为
LF
,检出时不转换 - 拒绝提交包含混合换行符的文件
LF
,在git bash中执行:find . -type f|xargs dos2unix
2. 下载代码 2.1 如果可以正常访问github,执行如下命令
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
--recursive
表示把所有的子模块都下载下来.2.2 如果无法正常访问github:
- 只下载根工程,子模块不下载
git clone https://hub.fastgit.xyz/OpenIMSDK/Open-IM-Server.git
- 下载子模块
cmd/Open-IM-SDK-Core
.
执行cd Open-IM-Server
进入项目根目录,修改.gitmodules
文件,把github.com
改成hub.fastgit.xyz
.
最终文件内容为:
[submodule "cmd/Open-IM-SDK-Core"] path = cmd/Open-IM-SDK-Core url = https://hub.fastgit.xyz/OpenIMSDK/Open-IM-SDK-Core.git
或者,你也可以执行以下代码替换URL:
git submodule set-url cmd/Open-IM-SDK-Core https://hub.fastgit.xyz/OpenIMSDK/Open-IM-SDK-Core.git
然后执行git submodule update --init
下载子模块cmd/Open-IM-SDK-Core
.
- 下载子模块
cmd/Open-IM-SDK-Core
的子模块internal/sdk_advanced_function
执行cd cmd/Open-IM-SDK-Core
进入子模块的目录,修改.gitmodules
文件,把github.com
改成hub.fastgit.xyz
.
最终文件内容为:
[submodule "internal/sdk_advanced_function"] path = internal/sdk_advanced_function url = https://hub.fastgit.xyz/OpenIMSDK/sdk_advanced_function.git
或者,你也可以执行以下代码替换URL:
git submodule set-url internal/sdk_advanced_function https://hub.fastgit.xyz/OpenIMSDK/sdk_advanced_function.git
然后执行git submodule update --init
下载子模块internal/sdk_advanced_function
.
进入工程根目录
docker build -t open-im-server -f deploy.Dockerfile .
(注意结尾有个点.
)注意:
Open-IM-Server\config\config.yaml
中有大量的配置,包含一些服务的IP和端口,第三方服务(比如在线存储,推送,短信),如果你要用自己的需要在这里修改.打开
docker-compose.yaml
文件:KAFKA_ADVERTISED_LISTENERS: INSIDE://127.0.0.1:9092,OUTSIDE://103.116.45.174:9092
中OUTSIDE
的地址为你的宿主IP,我这里使用本机的内网地址192.168.2.2,如果你需要让外网能访问到你,则需要改成外网IP- 修改minio映射地址. 把
/mnt/data:/data /mnt/config:/root/.minio
改为
./components/minio/data:/data ./components/minio/config:/root/.minio
- 修改open-im-server的镜像为刚才我们自己创建的,把
image: openim/open_im_server:v2.2.0
【Windows下使用Docker部署Open-IM-Server】改为
image: open-im-server
最后,在控制台中执行docker-compose up -d
.注意当前目录是工程根目录.