1. Base Images

Below are the base images and their versions you’ll need:

  • wurstmeister/kafka
  • redis:7.0.0
  • mongo:6.0.2
  • mysql:5.7
  • wurstmeister/zookeeper
  • minio/minio

Use the following commands to pull these base images:

docker pull wurstmeister/kafka
docker pull redis:7.0.0
docker pull mongo:6.0.2
docker pull mysql:5.7
docker pull wurstmeister/zookeeper
docker pull minio/minio

2. OpenIM & Chat Images

For detailed understanding of version management and storage of OpenIM and Chat: version.md

OpenIM Image

  • Get image version info: images.md
  • Depending on the required version, execute the following command:
docker pull ghcr.io/openimsdk/openim-server:<version-name>

Chat Image

  • Execute the following command to pull the image:
docker pull ghcr.io/openimsdk/openim-server:<version-name>

3. Image Storage Selection

Repositories:

  • Alibaba Cloud: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-server
  • Docker Hub: openim/openim-server

Version Selection:

  • Stable: e.g. release-v3.2 (or 3.1, 3.3)
  • Latest: latest
  • Latest of main: main

4. Version Selection

You can select from the following versions:

  • Stable: e.g. release-v3.2
  • Latest: latest
  • Latest from main branch: main

5. Offline Deployment Steps

  1. Pull images: Execute the above docker pull commands to pull all required images locally.
  2. Save images:
docker save -o <tar-file-name>.tar <image-name>
  1. Fetch code: Clone the repository:
git clone https://github.com/OpenIMSDK/openim-docker.git

Or download the code from Releases.

  1. Transfer files: Use scp to transfer all images and code to the intranet server.
scp <tar-file-name>.tar user@remote-ip:/path/on/remote/server

Or choose other transfer methods such as a hard drive.

  1. Import images: On the intranet server:
docker load -i <tar-file-name>.tar
  1. Deploy: Navigate to the openim-docker repository directory and follow the README guide for deployment.
  2. Deploy using Docker-compose:
docker-compose up -d

# Verify
docker-compose ps

Note: If you’re using a version of Docker prior to 20, make sure you’ve installed docker-compose.