mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-13 13:35:59 +08:00
docs: add openim scripts deployment system
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
This commit is contained in:
+39
-53
@@ -1,52 +1,48 @@
|
||||
# OpenIM 应用容器化部署指南
|
||||
# OpenIM Application Containerization Deployment Guide
|
||||
|
||||
OpenIM 支持很多种集群化部署方式,包括但不限于 helm, sealos, kubeam, kubesphere, kubeflow, kuboard, kubespray, k3s, k3d, k3c, k3sup, k3v, k3x
|
||||
OpenIM supports a variety of cluster deployment methods, including but not limited to `helm`, `sealos`, `kustomize`
|
||||
|
||||
**目前还在开发这个模块,预计 v3.2.0 之前会有一个集群方案。**
|
||||
Various contributors, as well as previous official releases, have provided some referenceable solutions:
|
||||
|
||||
目前各个贡献者,以及之前的官方有出过一些可以参考的方案:
|
||||
+ [k8s-jenkins Repository](https://github.com/OpenIMSDK/k8s-jenkins)
|
||||
+ [open-im-server-k8s-deploy Repository](https://github.com/openimsdk/open-im-server-k8s-deploy)
|
||||
+ [openim-charts Repository](https://github.com/OpenIMSDK/openim-charts)
|
||||
+ [deploy-openim Repository](https://github.com/showurl/deploy-openim)
|
||||
|
||||
- https://github.com/OpenIMSDK/k8s-jenkins
|
||||
- https://github.com/openimsdk/open-im-server-k8s-deploy
|
||||
- https://github.com/OpenIMSDK/openim-charts
|
||||
- https://github.com/showurl/deploy-openim
|
||||
|
||||
|
||||
### 依赖检查
|
||||
### Dependency Check
|
||||
|
||||
```bash
|
||||
Kubernetes: >= 1.16.0-0
|
||||
Helm: >= 3.0
|
||||
```
|
||||
|
||||
### Minimum Configuration
|
||||
|
||||
### 最低配置
|
||||
The recommended minimum configuration for a production environment is as follows:
|
||||
|
||||
建议生产环境的最低配置如下:
|
||||
|
||||
```bash
|
||||
```yaml
|
||||
CPU: 4
|
||||
Memory: 8G
|
||||
Disk: 100G
|
||||
```
|
||||
|
||||
## 生成配置文件
|
||||
## Configuration File Generation
|
||||
|
||||
我们将自动文件全部自动化处理了,所以生成配置文件对于 openim 来说是可选的,但是如果你想要自定义配置,可以参考下面的步骤:
|
||||
We have automated all the files, making the generation of configuration files optional for OpenIM. However, if you desire custom configurations, you can follow the steps below:
|
||||
|
||||
```bash
|
||||
$ make init
|
||||
# 或者是使用脚本:
|
||||
# Alternatively, use script:
|
||||
# ./scripts/init-config.sh
|
||||
```
|
||||
此时会帮你在 `deployments/openim/config` 目录下生成配置文件,你可以根据自己的需求进行修改。
|
||||
|
||||
At this point, configuration files will be generated under `deployments/openim/config`, which you can modify as per your requirements.
|
||||
|
||||
## 集群搭建
|
||||
## Cluster Setup
|
||||
|
||||
如果你已经有了一个 `kubernetes` 集群,或者是你希望自己从头开始搭建一个 `kubernetes` 那么你可以直接跳过这一步。
|
||||
If you already have a `kubernetes` cluster, or if you wish to build a `kubernetes` cluster from scratch, you can skip this step.
|
||||
|
||||
为了快速开始,我使用 [sealos](https://github.com/labring/sealos) 来快速搭建集群,sealos 底层也是对 kubeadm 的封装:
|
||||
For a quick start, I used [sealos](https://github.com/labring/sealos) to rapidly set up the cluster, with sealos also being a wrapper for kubeadm at its core:
|
||||
|
||||
```bash
|
||||
$ SEALOS_VERSION=`curl -s https://api.github.com/repos/labring/sealos/releases/latest | grep -oE '"tag_name": "[^"]+"' | head -n1 | cut -d'"' -f4` && \
|
||||
@@ -54,21 +50,20 @@ $ SEALOS_VERSION=`curl -s https://api.github.com/repos/labring/sealos/releases/l
|
||||
sh -s ${SEALOS_VERSION} labring/sealos
|
||||
```
|
||||
|
||||
**支持的版本:**
|
||||
**Supported Versions:**
|
||||
|
||||
+ docker: `labring/kubernetes-docker`:(v1.24.0~v1.27.0)
|
||||
+ containerd: `labring/kubernetes`:(v1.24.0~v1.27.0)
|
||||
|
||||
#### Cluster Installation:
|
||||
|
||||
#### 安装集群:
|
||||
Cluster details are as follows:
|
||||
|
||||
集群的信息如下:
|
||||
|
||||
| 机器名 | IP地址 | 系统信息 |
|
||||
|---------|-----------------|------------------------------------------------------------------------------------------------------------|
|
||||
| master01| 10.0.0.9 | Linux VM-0-9-ubuntu 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
|
||||
| node01 | 10.0.0.4 | Linux VM-0-9-ubuntu 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
|
||||
| node02 | 10.0.0.10 | Linux VM-0-9-ubuntu 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
|
||||
| Hostname | IP Address | System Info |
|
||||
| -------- | ---------- | ------------------------------------------------------------ |
|
||||
| master01 | 10.0.0.9 | `Linux VM-0-9-ubuntu 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux` |
|
||||
| node01 | 10.0.0.4 | Similar to master01 |
|
||||
| node02 | 10.0.0.10 | Similar to master01 |
|
||||
|
||||
```bash
|
||||
$ export CLUSTER_USERNAME=ubuntu
|
||||
@@ -80,50 +75,41 @@ $ sudo sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:
|
||||
-p "$CLUSTER_PASSWORD"
|
||||
```
|
||||
|
||||
> **Node**
|
||||
> 卸载的方式:使用 `kubeadm` 卸载并不会清除 `etcd` 和 `cni` 相关,所以需要手动清除,或者使用 `sealos` 卸载。
|
||||
> **Node** Uninstallation method: using `kubeadm` for uninstallation does not remove `etcd` and `cni` related configurations. Manual clearance or using `sealos` for uninstallation is needed.
|
||||
>
|
||||
> ```bash
|
||||
> sealos reset
|
||||
> $ sealos reset
|
||||
> ```
|
||||
|
||||
### 安装 helm
|
||||
### Installing helm
|
||||
|
||||
helm通过打包的方式,支持发布的版本管理和控制,很大程度上简化了Kubernetes应用的部署和管理。
|
||||
Helm simplifies the deployment and management of Kubernetes applications to a large extent by offering version control and release management through packaging.
|
||||
|
||||
|
||||
**使用脚本:**
|
||||
**Using Script:**
|
||||
|
||||
```bash
|
||||
$ curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
||||
```
|
||||
|
||||
**Helm Version:**
|
||||
|
||||
```bash
|
||||
$ helm version
|
||||
version.BuildInfo{Version:"v3.13.1", GitCommit:"3547a4b5bf5edb5478ce352e18858d8a552a4110", GitTreeState:"clean", GoVersion:"go1.20.8"}
|
||||
``
|
||||
|
||||
**添加仓库:**
|
||||
**Adding Repository:**
|
||||
|
||||
```bash
|
||||
$ helm repo add brigade https://openimsdk.github.io/openim-charts
|
||||
```
|
||||
|
||||
### OpenIM 的镜像策略
|
||||
### OpenIM Image Strategy
|
||||
|
||||
自动化提供的 aliyun, ghcr, docker hub: https://github.com/openimsdk/open-im-server/blob/main/docs/conversions/images.md
|
||||
Automated offerings include aliyun, ghcr, docker hub: [Image Documentation](https://github.com/openimsdk/open-im-server/blob/main/docs/conversions/images.md)
|
||||
|
||||
**本地化测试构建方法:**
|
||||
**Local Test Build Method:**
|
||||
|
||||
```bash
|
||||
$ make image
|
||||
```
|
||||
|
||||
> This command assists in quickly building the required images locally. For a detailed build strategy, refer to the [Build Documentation](https://github.com/openimsdk/open-im-server/blob/main/build/README.md).
|
||||
|
||||
### 容器化安装
|
||||
## Installation
|
||||
|
||||
具体安装步骤如下:
|
||||
Explore our Helm-Charts repository and read through: [Helm-Charts Repository](https://github.com/openimsdk/helm-charts)
|
||||
|
||||
> **Note**
|
||||
> 针对中国的用户,阅读我们的 [Docker 镜像标准](https://github.com/openimsdk/open-im-server/blob/main/docs/conversions/images.md) 以便使用国内 aliyun 的镜像地址。OpenIM 也有针对中国的 gitee 同步仓库,你可以在 [gitee.com](https://gitee.com/openimsdk) 上找到它。
|
||||
@@ -1,220 +0,0 @@
|
||||
# Systemd Configuration, Installation, and Startup
|
||||
|
||||
- [Systemd Configuration, Installation, and Startup](#systemd-configuration-installation-and-startup)
|
||||
- [1. Introduction](#1-introduction)
|
||||
- [2. Prerequisites (Requires root permissions)](#2-prerequisites-requires-root-permissions)
|
||||
- [3. Create `openim-api` systemd unit template file](#3-create-openim-api-systemd-unit-template-file)
|
||||
- [4. Copy systemd unit template file to systemd config directory (Requires root permissions)](#4-copy-systemd-unit-template-file-to-systemd-config-directory-requires-root-permissions)
|
||||
- [5. Start systemd service](#5-start-systemd-service)
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
Systemd is the default service management form for the latest Linux distributions, replacing the original init.
|
||||
|
||||
Format introduction:
|
||||
|
||||
```bash
|
||||
[Unit] : Unit of the service
|
||||
|
||||
Description: Brief description of the service
|
||||
|
||||
[Service]: Configuration of the service's runtime behavior
|
||||
|
||||
ExecStart: Complete path of the program
|
||||
|
||||
Restart: Restart configurations like no, always, on-success, on-failure, on-abnormal, on-abort, on-watchdog
|
||||
|
||||
[Install]: Installation configuration
|
||||
|
||||
WantedBy: Multi-user, etc.
|
||||
```
|
||||
|
||||
For more details, refer to: [Systemd Service Manual](https://www.freedesktop.org/software/systemd/man/systemd.service.html)
|
||||
|
||||
Starting command:
|
||||
|
||||
```bash
|
||||
systemctl daemon-reload && systemctl enable openim-api && systemctl restart openim-api
|
||||
```
|
||||
|
||||
Service status:
|
||||
|
||||
```bash
|
||||
systemctl status openim-api
|
||||
```
|
||||
|
||||
Stop command:
|
||||
|
||||
```bash
|
||||
systemctl stop openim-api
|
||||
```
|
||||
|
||||
More command:
|
||||
```bash
|
||||
# 列出正在运行的Unit,可以直接使用systemctl
|
||||
systemctl list-units
|
||||
|
||||
# 列出所有Unit,包括没有找到配置文件的或者启动失败的
|
||||
systemctl list-units --all
|
||||
|
||||
# 列出所有没有运行的 Unit
|
||||
systemctl list-units --all --state=inactive
|
||||
|
||||
# 列出所有加载失败的 Unit
|
||||
systemctl list-units --failed
|
||||
|
||||
# 列出所有正在运行的、类型为service的Unit
|
||||
systemctl list-units --type=service
|
||||
|
||||
# 显示某个 Unit 是否正在运行
|
||||
systemctl is-active application.service
|
||||
|
||||
# 显示某个 Unit 是否处于启动失败状态
|
||||
systemctl is-failed application.service
|
||||
|
||||
# 显示某个 Unit 服务是否建立了启动链接
|
||||
systemctl is-enabled application.service
|
||||
|
||||
# 立即启动一个服务
|
||||
sudo systemctl start apache.service
|
||||
|
||||
# 立即停止一个服务
|
||||
sudo systemctl stop apache.service
|
||||
|
||||
# 重启一个服务
|
||||
sudo systemctl restart apache.service
|
||||
|
||||
# 重新加载一个服务的配置文件
|
||||
sudo systemctl reload apache.service
|
||||
|
||||
# 重载所有修改过的配置文件
|
||||
sudo systemctl daemon-reload
|
||||
```
|
||||
|
||||
**Why choose systemd?**
|
||||
|
||||
**Advanced requirements:**
|
||||
|
||||
- Convenient service runtime log recording for problem analysis
|
||||
- Service management logs
|
||||
- Option to restart upon abnormal exit
|
||||
|
||||
The daemon does not meet these advanced requirements.
|
||||
|
||||
`nohup` only logs the service's runtime outputs and errors.
|
||||
|
||||
Only systemd can fulfill all of the above requirements.
|
||||
|
||||
> The default logs are enhanced with timestamps, usernames, service names, PIDs, etc., making them user-friendly. You can view logs of abnormal service exits. Advanced customization is possible through the configuration files in `/lib/systemd/system/`.
|
||||
|
||||
In short, systemd is the current mainstream way to manage backend services on Linux, so I've abandoned `nohup` in my new versions of bash scripts, opting instead for systemd.
|
||||
|
||||
## 2. Prerequisites (Requires root permissions)
|
||||
|
||||
1. Configure `environment.sh` based on the comments.
|
||||
2. Create a data directory:
|
||||
|
||||
```bash
|
||||
mkdir -p ${OPENIM_DATA_DIR}/{openim-api,openim-crontask}
|
||||
```
|
||||
|
||||
3. Create a bin directory and copy `openim-api` and `openim-crontask` executable files:
|
||||
|
||||
```bash
|
||||
source ./environment.sh
|
||||
mkdir -p ${OPENIM_INSTALL_DIR}/bin
|
||||
cp openim-api openim-crontask ${OPENIM_INSTALL_DIR}/bin
|
||||
```
|
||||
|
||||
4. Copy the configuration files of `openim-api` and `openim-crontask` to the `${OPENIM_CONFIG_DIR}` directory:
|
||||
|
||||
```bash
|
||||
mkdir -p ${OPENIM_CONFIG_DIR}
|
||||
cp openim-api.yaml openim-crontask.yaml ${OPENIM_CONFIG_DIR}
|
||||
```
|
||||
|
||||
## 3. Create `openim-api` systemd unit template file
|
||||
|
||||
For each OpenIM service, we will create a systemd unit template. Follow the steps below for each service:
|
||||
|
||||
Run the following shell script to generate the `openim-api.service.template`:
|
||||
|
||||
```bash
|
||||
source ./environment.sh
|
||||
cat > openim-api.service.template <<EOF
|
||||
[Unit]
|
||||
Description=OpenIM Server API
|
||||
Documentation=https://github.com/oepnimsdk/open-im-server/blob/master/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-api
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-api --config=${OPENIM_CONFIG_DIR}/openim-api.yaml
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
```
|
||||
|
||||
Following the above style, create the respective template files or generate them in bulk:
|
||||
|
||||
First, make sure you've sourced the environment variables:
|
||||
|
||||
```bash
|
||||
source ./environment.sh
|
||||
```
|
||||
|
||||
Use the shell script to generate the systemd unit template for each service:
|
||||
|
||||
```bash
|
||||
declare -a services=(
|
||||
"openim-api"
|
||||
... [other services]
|
||||
)
|
||||
|
||||
for service in "${services[@]}"
|
||||
do
|
||||
cat > $service.service.template <<EOF
|
||||
[Unit]
|
||||
Description=OpenIM Server - $service
|
||||
Documentation=https://github.com/oepnimsdk/open-im-server/blob/master/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/$service
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/$service --config=${OPENIM_CONFIG_DIR}/$service.yaml
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
done
|
||||
```
|
||||
|
||||
## 4. Copy systemd unit template file to systemd config directory (Requires root permissions)
|
||||
|
||||
Ensure you have root permissions to perform this operation:
|
||||
|
||||
```bash
|
||||
for service in "${services[@]}"
|
||||
do
|
||||
sudo cp $service.service.template /etc/systemd/system/$service.service
|
||||
done
|
||||
...
|
||||
```
|
||||
|
||||
## 5. Start systemd service
|
||||
|
||||
To start the OpenIM services:
|
||||
|
||||
```bash
|
||||
for service in "${services[@]}"
|
||||
do
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable $service
|
||||
sudo systemctl restart $service
|
||||
done
|
||||
```
|
||||
@@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=OPENIM OPENIM API
|
||||
Documentation=Control interface for the OpenIM API service.
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-api
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-api
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-api --config=${OPENIM_CONFIG_DIR}/openim-api.yaml
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=OPENIM OPENIM CMDUTILS
|
||||
Documentation=Utility toolkit for common OpenIM command-line operations.
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-cmdutils
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-cmdutils
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-cmdutils --config=${OPENIM_CONFIG_DIR}/openim-cmdutils.yaml
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=OPENIM OPENIM CRONTASK
|
||||
Documentation=Manages the OpenIM CronTask service, with both direct and systemctl installation methods.
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-crontask
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-crontask
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-crontask -c=${OPENIM_CONFIG_DIR}
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,15 +0,0 @@
|
||||
[Unit]
|
||||
Description=OPENIM OPENIM MSGGATEWAY
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-msggateway
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-msggateway
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-msggateway --config=${OPENIM_CONFIG_DIR}/openim-msggateway.yaml
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,15 +0,0 @@
|
||||
[Unit]
|
||||
Description=OPENIM OPENIM MSGTRANSFER
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-msgtransfer
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-msgtransfer
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-msgtransfer --config=${OPENIM_CONFIG_DIR}/openim-msgtransfer.yaml
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=OPENIM OPENIM PUSH
|
||||
Documentation=Interface for controlling the OpenIM Push Notification service.
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-push
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-push
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-push --port ${OPENIM_PUSH_PORT} --prometheus_port ${PUSH_PROM_PORT}
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,15 +0,0 @@
|
||||
[Unit]
|
||||
Description=OPENIM OPENIM RPC AUTH
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-rpc-auth
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-rpc-auth
|
||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-rpc-auth --config=${OPENIM_CONFIG_DIR}/openim-rpc-auth.yaml
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=${SERVER_NAME} for OpenIM
|
||||
Documentation=https://github.com/openimsdk/open-im-server/blob/main/deployment/init/README.md
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=${OPENIM_DATA_DIR}
|
||||
ExecStart=${OPENIM_INSTALL_DIR}/${SERVER_NAME} -c ${OPENIM_CONFIG_DIR}
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -168,7 +168,6 @@ rpcPort:
|
||||
openImUserPort: [ ${OPENIM_USER_PORT} ]
|
||||
openImFriendPort: [ ${OPENIM_FRIEND_PORT} ]
|
||||
openImMessagePort: [ ${OPENIM_MESSAGE_PORT} ]
|
||||
openImMessageGatewayPort: [ ${OPENIM_MESSAGE_GATEWAY_PORT} ]
|
||||
openImGroupPort: [ ${OPENIM_GROUP_PORT} ]
|
||||
openImAuthPort: [ ${OPENIM_AUTH_PORT} ]
|
||||
openImPushPort: [ ${OPENIM_PUSH_PORT} ]
|
||||
@@ -217,6 +216,7 @@ log:
|
||||
longConnSvr:
|
||||
openImWsPort: [ ${OPENIM_WS_PORT} ]
|
||||
websocketMaxConnNum: ${WEBSOCKET_MAX_CONN_NUM}
|
||||
openImMessageGatewayPort: [ ${OPENIM_MESSAGE_GATEWAY_PORT} ]
|
||||
websocketMaxMsgLen: ${WEBSOCKET_MAX_MSG_LEN}
|
||||
websocketTimeout: ${WEBSOCKET_TIMEOUT}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user