@@ -24,12 +24,17 @@ OPENIM_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd -P)"
LOCAL_OUTPUT_ROOT = "" ${ OPENIM_ROOT } " / ${ OUT_DIR :- _output } "
source " ${ OPENIM_ROOT } /scripts/lib/init.sh "
#TODO
#TODO: Access to the IP networks outside, or you want to use the IP network
# IP=http://127.0.0.1
if [ -z " ${ IP } " ] ; then
IP = $( openim::util::get_server_ip)
IP = $( openim::util::get_server_ip)
fi
# config.gateway custom bridge modes
# if [ -z "{IP_GATEWAY}" ] then
# IP_GATEWAY=$(openim::util::get_local_ip)
# fi
function def( ) {
local var_name = " $1 "
local default_value = " ${ 2 :- } "
@@ -37,7 +42,9 @@ function def() {
}
# app要能访问到此ip和端口或域名
def "API_URL" " http:// ${ IP } :10002 "
readonly API_URL = ${ API_URL :- " http:// ${ IP } :10002 " }
# OpenIM Docker Compose 数据存储的默认路径
def "DATA_DIR" " ${ OPENIM_ROOT } "
# 设置统一的用户名,方便记忆
@@ -59,6 +66,47 @@ mkdir -p ${INSTALL_DIR}
def "ENV_FILE" "" ${ OPENIM_ROOT } "/scripts/install/environment.sh"
###################### Docker compose ###################
# OPENIM AND CHAT
def "CHAT_BRANCH" "main"
def "SERVER_BRANCH" "main"
###################### OpenIM Docker Network ######################
# 设置 Docker 网络的网段
readonly DOCKER_BRIDGE_SUBNET = ${ DOCKER_BRIDGE_SUBNET :- '172.28.0.0/16' }
IP_PREFIX = $( echo $DOCKER_BRIDGE_SUBNET | cut -d '/' -f 1)
SUBNET = $( echo $DOCKER_BRIDGE_SUBNET | cut -d '/' -f 2)
LAST_OCTET = $( echo $IP_PREFIX | cut -d '.' -f 4)
generate_ip( ) {
local NEW_IP = " $( echo $IP_PREFIX | cut -d '.' -f 1-3) . $(( LAST_OCTET++)) "
echo $NEW_IP
}
LAST_OCTET = $(( LAST_OCTET + 1 ))
DOCKER_BRIDGE_GATEWAY = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
MYSQL_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
MONGO_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
REDIS_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
KAFKA_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
ZOOKEEPER_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
MINIO_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
OPENIM_WEB_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
OPENIM_SERVER_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
OPENIM_CHAT_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
PROMETHEUS_NETWORK_ADDRESS = $( generate_ip)
LAST_OCTET = $(( LAST_OCTET + 1 ))
GRAFANA_NETWORK_ADDRESS = $( generate_ip)
###################### openim 配置 ######################
# read: https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
def "OPENIM_DATA_DIR" "/data/openim"
@@ -68,87 +116,122 @@ def "OPENIM_LOG_DIR" "/var/log/openim"
def "CA_FILE" " ${ OPENIM_CONFIG_DIR } /cert/ca.pem "
def "OPNEIM_CONFIG" "" ${ OPENIM_ROOT } "/config"
def "OPENIM_SERVER_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # OpenIM服务地址
# OpenIM Websocket端口
readonly OPENIM_WS_PORT = ${ OPENIM_WS_PORT :- '10001' }
# OpenIM API端口
readonly API_OPENIM_PORT = ${ API_OPENIM_PORT :- '10002' }
def "API_LISTEN_IP" "0.0.0.0" # API的监听IP
###################### openim-chat 配置信息 ######################
def "OPENIM_CHAT_DATA_DIR" " ./openim-chat/ ${ CHAT_BRANCH } "
def "OPENIM_CHAT_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # OpenIM服务地址
def "OPENIM_CHAT_API_PORT" "10008" # OpenIM API端口
def "CHAT_API_LISTEN_IP" "" # OpenIM API的监听IP
def "OPENIM_ADMIN_API_PORT" "10009" # OpenIM Admin API端口
def "ADMIN_API_LISTEN_IP" "" # OpenIM Admin API的监听IP
def "OPENIM_ADMIN_PORT" "30200" # OpenIM chat Admin端口
def "OPENIM_CHAT_PORT" "30300" # OpenIM chat Admin的监听IP
def "OPENIM_ADMIN_NAME" "admin" # openim-chat Admin用户名
def "OPENIM_CHAT_NAME" "chat" # openim-chat chat用户名
# TODO 注意: 一般的配置都可以使用 def 函数来定义,如果是包含特殊字符,比如说:
# TODO readonly MSG_DESTRUCT_TIME=${MSG_DESTRUCT_TIME:-'0 2 * * *'}
# TODO 使用 readonly 来定义合适,负责无法正常解析, 并且 yaml 模板需要加 "" 来包裹
###################### Zookeeper 配置信息 ######################
def "ZOOKEEPER_SCHEMA" "openim" # Zookeeper的模式
def "ZOOKEEPER_PORT" "2181" # Zookeeper的端口
def "ZOOKEEPER_ADDRESS" "127.0.0.1" # Zookeeper的地址
def "ZOOKEEPER_USERNAME" "" # Zookeeper的用户名
def "ZOOKEEPER_PASSWORD" "" # Zookeeper的密码
def "ZOOKEEPER_SCHEMA" "openim" # Zookeeper的模式
def "ZOOKEEPER_PORT" "1 2181" # Zookeeper的端口
def "ZOOKEEPER_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # Zookeeper的地址
def "ZOOKEEPER_USERNAME" "" # Zookeeper的用户名
def "ZOOKEEPER_PASSWORD" "" # Zookeeper的密码
###################### MySQL 配置信息 ######################
def "MYSQL_PORT" "13306" # MySQL的端口
def "MYSQL_ADDRESS" "127.0.0.1" # MySQL的地址
def "MYSQL_USERNAME" " ${ USER } " # MySQL的用户名
def "MYSQL_PASSWORD" " ${ PASSWORD } " # MySQL的密码
def "MYSQL_DATABASE" " ${ DATABASE_NAME } " # MySQL的数据库名
def "MYSQL_MAX_OPEN_CONN" "1000" # 最大打开的连接数
def "MYSQL_MAX_IDLE_CONN" "100" # 最大空闲连接数
def "MYSQL_MAX_LIFETIME" "60" # 连接可以重用的最大生命周期(秒)
def "MYSQL_LOG_LEVEL" "4" # 日志级别
def "MYSQL_SLOW_THRESHOLD" "500" # 慢查询阈值(毫秒)
def "MYSQL_PORT" "13306" # MySQL的端口
def "MYSQL_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # MySQL的地址
def "MYSQL_USERNAME" " ${ USER } " # MySQL的用户名
def "MYSQL_PASSWORD" " ${ PASSWORD } " # MySQL的密码
def "MYSQL_DATABASE" " ${ DATABASE_NAME } " # MySQL的数据库名
def "MYSQL_MAX_OPEN_CONN" "1000" # 最大打开的连接数
def "MYSQL_MAX_IDLE_CONN" "100" # 最大空闲连接数
def "MYSQL_MAX_LIFETIME" "60" # 连接可以重用的最大生命周期(秒)
def "MYSQL_LOG_LEVEL" "4" # 日志级别
def "MYSQL_SLOW_THRESHOLD" "500" # 慢查询阈值(毫秒)
###################### MongoDB 配置信息 ######################
def "MONGO_URI" # MongoDB的URI
def "MONGO_PORT" "37017" # MongoDB的端口
def "MONGO_ADDRESS" "127.0.0.1" # MongoDB的地址
def "MONGO_DATABASE" " ${ DATABASE_NAME } " # MongoDB的数据库名
def "MONGO_USERNAME" " ${ USER } " # MongoDB的用户名
def "MONGO_PASSWORD" " ${ PASSWORD } " # MongoDB的密码
def "MONGO_MAX_POOL_SIZE" "100" # 最大连接池大小
def "MONGO_URI" # MongoDB的URI
def "MONGO_PORT" "37017" # MongoDB的端口
def "MONGO_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # MongoDB的地址
def "MONGO_DATABASE" " ${ DATABASE_NAME } " # MongoDB的数据库名
def "MONGO_USERNAME" " ${ USER } " # MongoDB的用户名
def "MONGO_PASSWORD" " ${ PASSWORD } " # MongoDB的密码
def "MONGO_MAX_POOL_SIZE" "100" # 最大连接池大小
###################### Object 配置信息 ######################
def "OBJECT_ENABLE" "minio" # 对象是否启用
def "OBJECT_APIURL" " http:// ${ IP } :10002 " # 对象的API地址
def "MINIO_BUCKET" "openim" # MinIO的存储桶名称
def "MINIO_POR T" "10005" # MinIO的端口
def "OBJECT_ENABLE" "minio" # 对象是否启用
# 对象的API地址
readonly OBJECT_APIURL = ${ OBJECT_APIURL :- " http:// ${ IP } :10002 " }
def "MINIO_BUCKE T" "openim" # MinIO的存储桶名称
def "MINIO_PORT" "10005" # MinIO的端口
# MinIO的端点URL
readonly MINIO_ENDPOINT = ${ MINIO_ENDPOINT :- " http://127.0.0.1: ${ MINIO_PORT } " }
def "MINIO_ACCESS_KEY" " ${ USER } " # MinIO的访问密钥ID
def "MINIO_SECRET _KEY" " ${ PASSWORD } " # MinIO的密钥
def "MINIO_SESSION_TO KEN " # MinIO的会话令牌
def MINIO_ADDRESS " ${ DOCKER_BRIDGE_GATEWAY } "
readonly MINIO_ENDPOINT = ${ MINIO_ENDPOINT :- " http:// ${ MINIO_ADDRESS } : ${ MINIO_PORT } " }
def "MINIO_ACCESS _KEY" " ${ USER } " # MinIO的访问密钥ID
def "MINIO_SECRET_ KEY " " ${ PASSWORD } " # MinIO的密钥
def "MINIO_SESSION_TOKEN" # MinIO的会话令牌
readonly MINIO_SIGN_ENDPOINT = ${ MINIO_SIGN_ENDPOINT :- " http:// ${ IP } : ${ MINIO_PORT } " } # signEndpoint为minio公网地址 # MinIO的会话令牌
def "COS_BUCKET_URL" "https://temp-1252357374.cos.ap-chengdu.myqcloud.com" # 腾讯云COS的存储桶URL
def "COS_SECRET_ID" # 腾讯云COS的密钥ID
def "COS_SECRET_KEY" # 腾讯云COS的密钥
def "COS_SESSION_TO KEN " # 腾讯云COS的会话令牌
def "OSS_ENDPOINT" "https://oss-cn-chengdu.aliyuncs.com" # 阿里云OSS的端点URL
def "OSS_BUCKET" "demo-9999999" # 阿里云OSS的存储桶名称
def "OSS_BUCKET_URL " "https:// demo-9999999.oss-cn-chengdu.aliyuncs.com" # 阿里云OSS的存储桶URL
def "OSS_ACCESS_KEY_ID" # 阿里云OSS的访问密钥ID
def "OSS_ACCESS_KEY_SECRET " # 阿里云OSS的密钥
def "OSS_SESSION_TOKEN" # 阿里云OSS的会话令牌
# 腾讯云COS的存储桶URL
def "COS_BUCKET_URL" "https://temp-1252357374.cos.ap-chengdu.myqcloud.com"
def "COS_SECRET_ID" # 腾讯云COS的密钥ID
def "COS_SECRET_ KEY " # 腾讯云COS的密钥
def "COS_SESSION_TOKEN" # 腾讯云COS的会话令牌
def "OSS_ENDPOINT" "https://oss-cn-chengdu.aliyuncs.com" # 阿里云OSS的端点URL
def "OSS_BUCKET" "demo-9999999" # 阿里云OSS的存储桶名称
def "OSS_BUCKET_URL" "https://demo-9999999.oss-cn-chengdu.aliyuncs.com" # 阿里云OSS的存储桶URL
def "OSS_ACCESS_KEY_ID " # 阿里云OSS的访问密钥ID
def "OSS_ACCESS_KEY_SECRET" # 阿里云OSS的密钥
def "OSS_SESSION_TOKEN" # 阿里云OSS的会话令牌
###################### Redis 配置信息 ######################
def "REDIS_PORT" "16379" # Redis的端口
def "REDIS_ADDRESS" "127.0.0.1" # Redis的地址
def "REDIS_PORT" "16379" # Redis的端口
def "REDIS_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # Redis的地址
def "REDIS_USERNAME" # Redis的用户名
def "REDIS_PASSWORD" " ${ PASSWORD } " # Redis的密码
###################### Kafka 配置信息 ######################
def "KAFKA_USERNAME" # Kafka的用户名
def "KAFKA_PASSWORD" # Kafka的密码
def "KAFKA_PORT" "9092 " # Kafka的端口
def "KAFKA_ADDR" "127.0.0.1 " # Kafka的地址
def "KAFKA_LATESTMSG_REDIS_TOPIC" "latestMsgToRedis" # Kafka的最新消息到Redis的主题
def "KAFKA_OFFLINEMSG_MONGO_TOPIC" "offlineMsgToMongoMysql" # Kafka的离线消息到Mongo的主题
def "KAFKA_MSG_PUSH_TOPIC" "msgToPush" # Kafka的消息到推送的主题
def "KAFKA_CONSUMERGROUPID_REDIS" "redis" # Kafka的消费组ID到Redis
def "KAFKA_CONSUMERGROUPID_MONGO" "mongo" # Kafka的消费组ID到Mongo
def "KAFKA_CONSUMERGROUPID_MYSQL" "mysql" # Kafka的消费组ID到MySql
def "KAFKA_CONSUMERGROUPID_PUSH" "push" # Kafka的消费组ID到推送
def "KAFKA_USERNAME" # ` Kafka` 的用户名
def "KAFKA_PASSWORD" # ` Kafka` 的密码
def "KAFKA_PORT" "1 9094 " # ` Kafka` 的端口
def "KAFKA_ADDRESS " " ${ DOCKER_BRIDGE_GATEWAY } " # ` Kafka` 的地址
def "KAFKA_LATESTMSG_REDIS_TOPIC" "latestMsgToRedis" # ` Kafka` 的最新消息到Redis的主题
def "KAFKA_OFFLINEMSG_MONGO_TOPIC" "offlineMsgToMongoMysql" # ` Kafka` 的离线消息到Mongo的主题
def "KAFKA_MSG_PUSH_TOPIC" "msgToPush" # ` Kafka` 的消息到推送的主题
def "KAFKA_CONSUMERGROUPID_REDIS" "redis" # ` Kafka` 的消费组ID到Redis
def "KAFKA_CONSUMERGROUPID_MONGO" "mongo" # ` Kafka` 的消费组ID到Mongo
def "KAFKA_CONSUMERGROUPID_MYSQL" "mysql" # ` Kafka` 的消费组ID到MySql
def "KAFKA_CONSUMERGROUPID_PUSH" "push" # ` Kafka` 的消费组ID到推送
###################### openim-web 配置信息 ######################
def "OPENIM_WEB_PORT" "11001" # openim-web的端口
def "OPENIM_WEB_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # openim-web的地址
def "OPENIM_WEB_DIST_PATH" "/app/dist" # openim-web的dist路径
###################### RPC 配置信息 ######################
def "RPC_REGISTER_IP" # RPC的注册IP
def "RPC_LISTEN_IP" "0.0.0.0" # RPC的监听IP
def "RPC_REGISTER_IP" # RPC的注册IP
def "RPC_LISTEN_IP" "0.0.0.0" # RPC的监听IP
###################### API 配置信息 ######################
# API的开放端口, 只能设置一个 端口
def "API_OPENIM_PORT" "10002"
def "API_LISTEN_IP" "0.0.0.0" # API的监听IP
###################### prometheus 配置 ######################
def "PROMETHEUS_PORT" "19090" # Prometheus的 端口
def "PROMETHEUS_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # Prometheus的地址
###################### Grafana 配置信息 ######################
def "GRAFANA_PORT" "3000" # Grafana的端口
def "GRAFANA_ADDRESS" " ${ DOCKER_BRIDGE_GATEWAY } " # Grafana的地址
###################### RPC Port Configuration Variables ######################
# For launching multiple programs, just fill in multiple ports separated by commas
@@ -175,27 +258,26 @@ readonly OPENIM_CONVERSATION_PORT=${OPENIM_CONVERSATION_PORT:-'10180'}
readonly OPENIM_THIRD_PORT = ${ OPENIM_THIRD_PORT :- '10190' }
###################### RPC Register Name Variables ######################
def "OPENIM_USER_NAME" "User" # OpenIM用户服务名称
def "OPENIM_FRIEND_NAME" "Friend" # OpenIM朋友服务名称
def "OPENIM_MSG_NAME" "Msg" # OpenIM消息服务名称
def "OPENIM_PUSH_NAME" "Push" # OpenIM推送服务名称
def "OPENIM_MESSAGE_GATEWAY_NAME" "MessageGateway" # OpenIM消息网关服务名称
def "OPENIM_GROUP_NAME" "Group" # OpenIM组服务名称
def "OPENIM_AUTH_NAME" "Auth" # OpenIM授权服务名称
def "OPENIM_CONVERSATION_NAME" "Conversation" # OpenIM对话服务名称
def "OPENIM_THIRD_NAME" "Third" # OpenIM第三方服务名称
def "OPENIM_USER_NAME" "User" # OpenIM用户服务名称
def "OPENIM_FRIEND_NAME" "Friend" # OpenIM朋友服务名称
def "OPENIM_MSG_NAME" "Msg" # OpenIM消息服务名称
def "OPENIM_PUSH_NAME" "Push" # OpenIM推送服务名称
def "OPENIM_MESSAGE_GATEWAY_NAME" "MessageGateway" # OpenIM消息网关服务名称
def "OPENIM_GROUP_NAME" "Group" # OpenIM组服务名称
def "OPENIM_AUTH_NAME" "Auth" # OpenIM授权服务名称
def "OPENIM_CONVERSATION_NAME" "Conversation" # OpenIM对话服务名称
def "OPENIM_THIRD_NAME" "Third" # OpenIM第三方服务名称
###################### Log Configuration Variables ######################
def "LOG_STORAGE_LOCATION" "" ${ OPENIM_ROOT } "/logs/" # 日志存储位置
def "LOG_ROTATION_TIME" "24" # 日志轮替时间
def "LOG_REMAIN_ROTATION_COUNT" "2" # 保留的日志轮替数量
def "LOG_REMAIN_LOG_LEVEL" "6" # 保留的日志级别
def "LOG_IS_STDOUT" "false" # 是否将日志输出到标准输出
def "LOG_IS_JSON" "false" # 日志是否为JSON格式
def "LOG_WITH_STACK" "false" # 日志是否带有堆栈信息
def "LOG_ROTATION_TIME" "24" # 日志轮替时间
def "LOG_REMAIN_ROTATION_COUNT" "2" # 保留的日志轮替数量
def "LOG_REMAIN_LOG_LEVEL" "6" # 保留的日志级别
def "LOG_IS_STDOUT" "false" # 是否将日志输出到标准输出
def "LOG_IS_JSON" "false" # 日志是否为JSON格式
def "LOG_WITH_STACK" "false" # 日志是否带有堆栈信息
###################### Variables definition ######################
def "OPENIM_WS_PORT" "10001" # OpenIM WS端口
def "WEBSOCKET_MAX_CONN_NUM" "100000" # Websocket最大连接数
def "WEBSOCKET_MAX_MSG_LEN" "4096" # Websocket最大消息长度
def "WEBSOCKET_TIMEOUT" "10" # Websocket超时
@@ -223,32 +305,43 @@ def "RETAIN_CHAT_RECORDS" "365" # 保留聊天记录
readonly CHAT_RECORDS_CLEAR_TIME = ${ CHAT_RECORDS_CLEAR_TIME :- '0 2 * * 3' }
# 消息销毁时间
readonly MSG_DESTRUCT_TIME = ${ MSG_DESTRUCT_TIME :- '0 2 * * *' }
def "SECRET" " ${ PASSWORD } " # 密钥
def "TOKEN_EXPIRE" "90" # Token到期时间
def "FRIEND_VERIFY" "false" # 朋友验证
def "IOS_PUSH_SOUND" "xxx" # IOS推送声音
def "IOS_BADGE_COUNT" "true" # IOS徽章计数
def "IOS_PRODUCTION" "false" # IOS生产
def "SECRET" " ${ PASSWORD } " # 密钥
def "TOKEN_EXPIRE" "90" # Token到期时间
def "FRIEND_VERIFY" "false" # 朋友验证
def "IOS_PUSH_SOUND" "xxx" # IOS推送声音
def "IOS_BADGE_COUNT" "true" # IOS徽章计数
def "IOS_PRODUCTION" "false" # IOS生产
###################### Prometheus 配置信息 ######################
def "PROMETHEUS_ENABLE" "false" # 是否启用 Prometheus
def "USER_PROM_PORT" "20110" # User 服务的 Prometheus 端口
def "FRIEND_PROM_PORT" "20120" # Friend 服务的 Prometheus 端口
def "MESSAGE_PROM_PORT" "20130" # Message 服务的 Prometheus 端口
def "MSG_GATEWAY_PROM_PORT" "20140" # Message Gateway 服务的 Prometheus 端口
def "GROUP_PROM_PORT" "20150" # Group 服务的 Prometheus 端口
def "AUTH_PROM_PORT" "20160" # Auth 服务的 Prometheus 端口
def "PUSH_PROM_PORT" "20170" # Push 服务的 Prometheus 端口
def "CONVERSATION_PROM_PORT" "20230" # Conversation 服务的 Prometheus 端口
def "RTC_PROM_PORT" "21300" # RTC 服务的 Prometheus 端口
def "THIRD_PROM_PORT" "21301" # Third 服务的 Prometheus 端口
def "PROMETHEUS_ENABLE" "false" # 是否启用 Prometheus
# User 服务的 Prometheus 端口
readonly USER_PROM_PORT = ${ USER_PROM_PORT :- '20110' }
# Friend 服务的 Prometheus 端口
readonly FRIEND_PROM_PORT = ${ FRIEND_PROM_PORT :- '20120' }
# Message 服务的 Prometheus 端口
readonly MESSAGE_PROM_PORT = ${ MESSAGE_PROM_PORT :- '20130' }
# Message Gateway 服务的 Prometheus 端口
readonly MSG_GATEWAY_PROM_PORT = ${ MSG_GATEWAY_PROM_PORT :- '20140' }
# Group 服务的 Prometheus 端口
readonly GROUP_PROM_PORT = ${ GROUP_PROM_PORT :- '20150' }
# Auth 服务的 Prometheus 端口
readonly AUTH_PROM_PORT = ${ AUTH_PROM_PORT :- '20160' }
# Push 服务的 Prometheus 端口
readonly PUSH_PROM_PORT = ${ PUSH_PROM_PORT :- '20170' }
# Conversation 服务的 Prometheus 端口
readonly CONVERSATION_PROM_PORT = ${ CONVERSATION_PROM_PORT :- '20230' }
# RTC 服务的 Prometheus 端口
readonly RTC_PROM_PORT = ${ RTC_PROM_PORT :- '21300' }
# Third 服务的 Prometheus 端口
readonly THIRD_PROM_PORT = ${ THIRD_PROM_PORT :- '21301' }
# Message Transfer 服务的 Prometheus 端口列表
readonly MSG_TRANSFER_PROM_PORT = ${ MSG_TRANSFER_PROM_PORT :- '21400, 21401, 21402, 21403' }
###################### OpenIM openim-api ######################
def "OPENIM_API_HOST" "127.0.0.1"
def "OPENIM_API_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-api " # OpenIM openim-api 二进制文件路径
def "OPENIM_API_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-api 配置文件路径
def "OPENIM_API_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-api 配置文件路径
def "OPENIM_API_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-api " # OpenIM openim-api 日志存储路径
def "OPENIM_API_LOG_LEVEL" "info" # OpenIM openim-api 日志级别
def "OPENIM_API_LOG_MAX_SIZE" "100" # OpenIM openim-api 日志最大大小(MB)
@@ -260,7 +353,7 @@ def "OPENIM_API_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-ap
###################### OpenIM openim-cmdutils ######################
def "OPENIM_CMDUTILS_HOST" "127.0.0.1"
def "OPENIM_CMDUTILS_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-cmdutils " # OpenIM openim-cmdutils 二进制文件路径
def "OPENIM_CMDUTILS_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-cmdutils 配置文件路径
def "OPENIM_CMDUTILS_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-cmdutils 配置文件路径
def "OPENIM_CMDUTILS_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-cmdutils " # OpenIM openim-cmdutils 日志存储路径
def "OPENIM_CMDUTILS_LOG_LEVEL" "info" # OpenIM openim-cmdutils 日志级别
def "OPENIM_CMDUTILS_LOG_MAX_SIZE" "100" # OpenIM openim-cmdutils 日志最大大小(MB)
@@ -272,7 +365,7 @@ def "OPENIM_CMDUTILS_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM
###################### OpenIM openim-crontask ######################
def "OPENIM_CRONTASK_HOST" "127.0.0.1"
def "OPENIM_CRONTASK_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-crontask " # OpenIM openim-crontask 二进制文件路径
def "OPENIM_CRONTASK_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-crontask 配置文件路径
def "OPENIM_CRONTASK_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-crontask 配置文件路径
def "OPENIM_CRONTASK_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-crontask " # OpenIM openim-crontask 日志存储路径
def "OPENIM_CRONTASK_LOG_LEVEL" "info" # OpenIM openim-crontask 日志级别
def "OPENIM_CRONTASK_LOG_MAX_SIZE" "100" # OpenIM openim-crontask 日志最大大小(MB)
@@ -299,7 +392,7 @@ readonly OPENIM_MSGGATEWAY_NUM=${OPENIM_MSGGATEWAY_NUM:-'4'}
###################### OpenIM openim-msgtransfer ######################
def "OPENIM_MSGTRANSFER_HOST" "127.0.0.1"
def "OPENIM_MSGTRANSFER_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-msgtransfer " # OpenIM openim-msgtransfer 二进制文件路径
def "OPENIM_MSGTRANSFER_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-msgtransfer 配置文件路径
def "OPENIM_MSGTRANSFER_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-msgtransfer 配置文件路径
def "OPENIM_MSGTRANSFER_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-msgtransfer " # OpenIM openim-msgtransfer 日志存储路径
def "OPENIM_MSGTRANSFER_LOG_LEVEL" "info" # OpenIM openim-msgtransfer 日志级别
def "OPENIM_MSGTRANSFER_LOG_MAX_SIZE" "100" # OpenIM openim-msgtransfer 日志最大大小(MB)
@@ -311,7 +404,7 @@ def "OPENIM_MSGTRANSFER_LOG_WITH_STACK" "${LOG_WITH_STACK}" #
###################### OpenIM openim-push ######################
def "OPENIM_PUSH_HOST" "127.0.0.1"
def "OPENIM_PUSH_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-push " # OpenIM openim-push 二进制文件路径
def "OPENIM_PUSH_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-push 配置文件路径
def "OPENIM_PUSH_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-push 配置文件路径
def "OPENIM_PUSH_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-push " # OpenIM openim-push 日志存储路径
def "OPENIM_PUSH_LOG_LEVEL" "info" # OpenIM openim-push 日志级别
def "OPENIM_PUSH_LOG_MAX_SIZE" "100" # OpenIM openim-push 日志最大大小(MB)
@@ -323,7 +416,7 @@ def "OPENIM_PUSH_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-
###################### OpenIM openim-rpc-auth ######################
def "OPENIM_RPC_AUTH_HOST" "127.0.0.1"
def "OPENIM_RPC_AUTH_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-rpc-auth " # OpenIM openim-rpc-auth 二进制文件路径
def "OPENIM_RPC_AUTH_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-auth 配置文件路径
def "OPENIM_RPC_AUTH_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-auth 配置文件路径
def "OPENIM_RPC_AUTH_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-rpc-auth " # OpenIM openim-rpc-auth 日志存储路径
def "OPENIM_RPC_AUTH_LOG_LEVEL" "info" # OpenIM openim-rpc-auth 日志级别
def "OPENIM_RPC_AUTH_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-auth 日志最大大小(MB)
@@ -335,7 +428,7 @@ def "OPENIM_RPC_AUTH_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM
###################### OpenIM openim-rpc-conversation ######################
def "OPENIM_RPC_CONVERSATION_HOST" "127.0.0.1"
def "OPENIM_RPC_CONVERSATION_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-rpc-conversation " # OpenIM openim-rpc-conversation 二进制文件路径
def "OPENIM_RPC_CONVERSATION_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-conversation 配置文件路径
def "OPENIM_RPC_CONVERSATION_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-conversation 配置文件路径
def "OPENIM_RPC_CONVERSATION_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-rpc-conversation " # OpenIM openim-rpc-conversation 日志存储路径
def "OPENIM_RPC_CONVERSATION_LOG_LEVEL" "info" # OpenIM openim-rpc-conversation 日志级别
def "OPENIM_RPC_CONVERSATION_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-conversation 日志最大大小(MB)
@@ -347,7 +440,7 @@ def "OPENIM_RPC_CONVERSATION_LOG_WITH_STACK" "${LOG_WITH_STACK}"
###################### OpenIM openim-rpc-friend ######################
def "OPENIM_RPC_FRIEND_HOST" "127.0.0.1"
def "OPENIM_RPC_FRIEND_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-rpc-friend " # OpenIM openim-rpc-friend 二进制文件路径
def "OPENIM_RPC_FRIEND_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-friend 配置文件路径
def "OPENIM_RPC_FRIEND_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-friend 配置文件路径
def "OPENIM_RPC_FRIEND_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-rpc-friend " # OpenIM openim-rpc-friend 日志存储路径
def "OPENIM_RPC_FRIEND_LOG_LEVEL" "info" # OpenIM openim-rpc-friend 日志级别
def "OPENIM_RPC_FRIEND_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-friend 日志最大大小(MB)
@@ -359,7 +452,7 @@ def "OPENIM_RPC_FRIEND_LOG_WITH_STACK" "${LOG_WITH_STACK}" # Op
###################### OpenIM openim-rpc-group ######################
def "OPENIM_RPC_GROUP_HOST" "127.0.0.1"
def "OPENIM_RPC_GROUP_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-rpc-group " # OpenIM openim-rpc-group 二进制文件路径
def "OPENIM_RPC_GROUP_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-group 配置文件路径
def "OPENIM_RPC_GROUP_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-group 配置文件路径
def "OPENIM_RPC_GROUP_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-rpc-group " # OpenIM openim-rpc-group 日志存储路径
def "OPENIM_RPC_GROUP_LOG_LEVEL" "info" # OpenIM openim-rpc-group 日志级别
def "OPENIM_RPC_GROUP_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-group 日志最大大小(MB)
@@ -371,7 +464,7 @@ def "OPENIM_RPC_GROUP_LOG_WITH_STACK" "${LOG_WITH_STACK}" # Open
###################### OpenIM openim-rpc-msg ######################
def "OPENIM_RPC_MSG_HOST" "127.0.0.1"
def "OPENIM_RPC_MSG_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-rpc-msg " # OpenIM openim-rpc-msg 二进制文件路径
def "OPENIM_RPC_MSG_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-msg 配置文件路径
def "OPENIM_RPC_MSG_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-msg 配置文件路径
def "OPENIM_RPC_MSG_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-rpc-msg " # OpenIM openim-rpc-msg 日志存储路径
def "OPENIM_RPC_MSG_LOG_LEVEL" "info" # OpenIM openim-rpc-msg 日志级别
def "OPENIM_RPC_MSG_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-msg 日志最大大小(MB)
@@ -383,7 +476,7 @@ def "OPENIM_RPC_MSG_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM o
###################### OpenIM openim-rpc-third ######################
def "OPENIM_RPC_THIRD_HOST" "127.0.0.1"
def "OPENIM_RPC_THIRD_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-rpc-third " # OpenIM openim-rpc-third 二进制文件路径
def "OPENIM_RPC_THIRD_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-third 配置文件路径
def "OPENIM_RPC_THIRD_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-third 配置文件路径
def "OPENIM_RPC_THIRD_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-rpc-third " # OpenIM openim-rpc-third 日志存储路径
def "OPENIM_RPC_THIRD_LOG_LEVEL" "info" # OpenIM openim-rpc-third 日志级别
def "OPENIM_RPC_THIRD_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-third 日志最大大小(MB)
@@ -395,7 +488,7 @@ def "OPENIM_RPC_THIRD_LOG_WITH_STACK" "${LOG_WITH_STACK}" # Open
###################### OpenIM openim-rpc-user ######################
def "OPENIM_RPC_USER_HOST" "127.0.0.1"
def "OPENIM_RPC_USER_BINARY" " ${ OPENIM_OUTPUT_HOSTBIN } /openim-rpc-user " # OpenIM openim-rpc-user 二进制文件路径
def "OPENIM_RPC_USER_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-user 配置文件路径
def "OPENIM_RPC_USER_CONFIG" "" ${ OPENIM_ROOT } "/config/" # OpenIM openim-rpc-user 配置文件路径
def "OPENIM_RPC_USER_LOG_DIR" " ${ LOG_STORAGE_LOCATION } /openim-rpc-user " # OpenIM openim-rpc-user 日志存储路径
def "OPENIM_RPC_USER_LOG_LEVEL" "info" # OpenIM openim-rpc-user 日志级别
def "OPENIM_RPC_USER_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-user 日志最大大小(MB)