4.5 KiB
OpenIM Offline Deployment Design
1. Base Images
Below are the base images and their versions you'll need:
- bitnami/kafka:3.5.1
- redis:7.0.0
- mongo:6.0.2
- bitnami/zookeeper:3.8
- minio/minio:RELEASE.2024-01-11T07-46-16Z
[!IMPORTANT] It is important to note that OpenIM removed mysql components from versions v3.5.0 (release-v3.5) and above, so mysql can be deployed without this requirement or above
If you need to install more IM components or monitoring products:
OpenIM:
[!TIP] If you need to install more IM components or monitoring products images.md
- ghcr.io/openimsdk/openim-web:
- ghcr.io/openimsdk/openim-admin:
- ghcr.io/openimsdk/openim-chat:
- ghcr.io/openimsdk/openim-server:
Monitoring:
- prom/prometheus:v2.48.1
- prom/alertmanager:v0.23.0
- grafana/grafana:10.2.2
- bitnami/node-exporter:1.7.0
Use the following commands to pull these base images:
docker pull bitnami/kafka:3.5.1
docker pull redis:7.0.0
docker pull mongo:6.0.2
docker pull mariadb:10.6
docker pull bitnami/zookeeper:3.8
docker pull minio/minio:2024-01-11T07-46-16Z
If you need to install more IM components or monitoring products:
docker pull prom/prometheus:v2.48.1
docker pull prom/alertmanager:v0.23.0
docker pull grafana/grafana:10.2.2
docker pull bitnami/node-exporter:1.7.0
2. OpenIM 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-chat:<version-name>
Web Image
- Execute the following command to pull the image:
docker pull ghcr.io/openimsdk/openim-web:<version-name>
Admin Image
- Execute the following command to pull the image:
docker pull ghcr.io/openimsdk/openim-admin:<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
- Pull images: Execute the above
docker pull
commands to pull all required images locally. - Save images:
docker save -o <tar-file-name>.tar <image-name>
If you want to save all the images, use the following command:
docker save -o <tar-file-name>.tar $(docker images -q)
- Fetch code: Clone the repository:
git clone https://github.com/openimsdk/openim-docker.git
Or download the code from Releases.
Because of the difference between win and linux newlines, please do not clone the repository with win and then synchronize scp to linux.
- 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.
- Import images: On the intranet server:
docker load -i <tar-file-name>.tar
Import directly with shortcut commands:
for i in `ls ./`;do docker load -i $i;done
-
Deploy: Navigate to the
openim-docker
repository directory and follow the README guide for deployment. -
Deploy using docker compose:
export OPENIM_IP="your ip" # Set Ip
make init # Init config
docker compose up -d # Deployment
docker compose ps # Verify
Note: If you're using a version of Docker prior to 20, make sure you've installed
docker-compose
.