|
|
|
|
# Copyright © 2024 OpenIM. All rights reserved.
|
|
|
|
|
#
|
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
|
#
|
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
#
|
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
# General Configuration
|
|
|
|
|
# This section contains general configuration options for the entire environment.
|
|
|
|
|
# These options can be set via environment variables. If both environment variables
|
|
|
|
|
# and settings in this .env file exist, the environment variables take precedence.
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
# ==========================
|
|
|
|
|
# General Configuration
|
|
|
|
|
# ==========================
|
|
|
|
|
# These settings apply to the overall environment.
|
|
|
|
|
|
|
|
|
|
# Data storage directory for persistent data.
|
|
|
|
|
# Example: DATA_DIR=/path/to/data
|
|
|
|
|
DATA_DIR=${DATA_DIR}
|
|
|
|
|
|
|
|
|
|
# Docker image registry. Uncomment the preferred one.
|
|
|
|
|
# Options: ghcr.io/openimsdk, openim, registry.cn-hangzhou.aliyuncs.com/openimsdk
|
|
|
|
|
# IMAGE_REGISTRY="ghcr.io/openimsdk"
|
|
|
|
|
# IMAGE_REGISTRY="openim"
|
|
|
|
|
# IMAGE_REGISTRY="registry.cn-hangzhou.aliyuncs.com/openimsdk"
|
|
|
|
|
IMAGE_REGISTRY=${IMAGE_REGISTRY}
|
|
|
|
|
|
|
|
|
|
# ======================================
|
|
|
|
|
# ========= Network Configuration ======
|
|
|
|
|
# ======================================
|
|
|
|
|
|
|
|
|
|
# Subnet for the Docker network.
|
|
|
|
|
# Default: DOCKER_BRIDGE_SUBNET=172.28.0.0/16
|
|
|
|
|
DOCKER_BRIDGE_SUBNET=${DOCKER_BRIDGE_SUBNET}
|
|
|
|
|
|
|
|
|
|
# Set and specify the IP addresses of some containers. Generally speaking,
|
|
|
|
|
# you do not need to modify these configurations to facilitate debugging
|
|
|
|
|
DOCKER_BRIDGE_GATEWAY=${DOCKER_BRIDGE_GATEWAY}
|
|
|
|
|
MONGO_NETWORK_ADDRESS=${MONGO_NETWORK_ADDRESS}
|
|
|
|
|
REDIS_NETWORK_ADDRESS=${REDIS_NETWORK_ADDRESS}
|
|
|
|
|
KAFKA_NETWORK_ADDRESS=${KAFKA_NETWORK_ADDRESS}
|
|
|
|
|
ZOOKEEPER_NETWORK_ADDRESS=${ZOOKEEPER_NETWORK_ADDRESS}
|
|
|
|
|
MINIO_NETWORK_ADDRESS=${MINIO_NETWORK_ADDRESS}
|
|
|
|
|
OPENIM_WEB_NETWORK_ADDRESS=${OPENIM_WEB_NETWORK_ADDRESS}
|
|
|
|
|
OPENIM_SERVER_NETWORK_ADDRESS=${OPENIM_SERVER_NETWORK_ADDRESS}
|
|
|
|
|
OPENIM_CHAT_NETWORK_ADDRESS=${OPENIM_CHAT_NETWORK_ADDRESS}
|
|
|
|
|
PROMETHEUS_NETWORK_ADDRESS=${PROMETHEUS_NETWORK_ADDRESS}
|
|
|
|
|
GRAFANA_NETWORK_ADDRESS=${GRAFANA_NETWORK_ADDRESS}
|
|
|
|
|
NODE_EXPORTER_NETWORK_ADDRESS=${NODE_EXPORTER_NETWORK_ADDRESS}
|
|
|
|
|
OPENIM_ADMIN_FRONT_NETWORK_ADDRESS=${OPENIM_ADMIN_FRONT_NETWORK_ADDRESS}
|
|
|
|
|
ALERT_MANAGER_NETWORK_ADDRESS=${ALERT_MANAGER_NETWORK_ADDRESS}
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# Configuration Update Instructions
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# This header outlines the methods to update common variables in config.yaml and .env files.
|
|
|
|
|
# These instructions are vital for maintaining the OpenIM environment's configuration.
|
|
|
|
|
#
|
|
|
|
|
# METHOD 1: Regenerate All Configurations
|
|
|
|
|
# ----------------------------------------
|
|
|
|
|
# Use this method to regenerate all configurations.
|
|
|
|
|
# Steps:
|
|
|
|
|
# 1. Delete existing config files:
|
|
|
|
|
# - openim-server/config/config.yaml
|
|
|
|
|
# - openim-chat/config/config.yaml
|
|
|
|
|
# 2. Modify the .env file as required.
|
|
|
|
|
# 3. Run 'docker compose up -d'. This will regenerate:
|
|
|
|
|
# - config/config.yaml
|
|
|
|
|
#
|
|
|
|
|
# METHOD 2: Modify Individual Configuration Files
|
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
# Use this method to update specific configuration files.
|
|
|
|
|
# Steps:
|
|
|
|
|
# 1. Modify the .env file as necessary.
|
|
|
|
|
# 2. Update the corresponding entries in:
|
|
|
|
|
# - config/config.yaml
|
|
|
|
|
# 3. Restart the services with 'docker compose up -d'.
|
|
|
|
|
# 4. Special Note: If you modify OPENIM_IP, API_OPENIM_PORT, or MINIO_PORT in .env,
|
|
|
|
|
# ensure to update the corresponding services and configurations accordingly.
|
|
|
|
|
#
|
|
|
|
|
# It is essential to follow these methods to ensure consistent and correct application behavior.
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# Local IP address of the service. Modify if necessary.
|
|
|
|
|
# Example: OPENIM_IP=172.28.0.1,
|
|
|
|
|
OPENIM_IP=${OPENIM_IP}
|
|
|
|
|
|
|
|
|
|
# ----- ZooKeeper Configuration -----
|
|
|
|
|
# Port for ZooKeeper service.
|
|
|
|
|
# Default: ZOOKEEPER_PORT=12181
|
|
|
|
|
ZOOKEEPER_PORT=${ZOOKEEPER_PORT}
|
|
|
|
|
|
|
|
|
|
# MongoDB service port configuration.
|
|
|
|
|
# Default: MONGO_PORT=37017
|
|
|
|
|
# MONGO_PORT=${MONGO_PORT}
|
|
|
|
|
|
|
|
|
|
# Password for MongoDB admin user. Used for service authentication.
|
|
|
|
|
# Default: MONGO_PASSWORD=openIM123
|
|
|
|
|
MONGO_PASSWORD=${MONGO_PASSWORD}
|
|
|
|
|
|
|
|
|
|
# Username for a regular OpenIM user in MongoDB.
|
|
|
|
|
# Default: MONGO_OPENIM_USERNAME=openIM
|
|
|
|
|
MONGO_OPENIM_USERNAME=${MONGO_OPENIM_USERNAME}
|
|
|
|
|
|
|
|
|
|
# Password for a regular OpenIM user in MongoDB.
|
|
|
|
|
# Default: MONGO_OPENIM_PASSWORD=openIM123456
|
|
|
|
|
MONGO_OPENIM_PASSWORD=${MONGO_OPENIM_PASSWORD}
|
|
|
|
|
|
|
|
|
|
# Specifies the database name to be used within MongoDB.
|
|
|
|
|
# Default: MONGO_DATABASE=openIM_v3
|
|
|
|
|
MONGO_DATABASE=${MONGO_DATABASE}
|
|
|
|
|
|
|
|
|
|
# ----- Redis Configuration -----
|
|
|
|
|
|
|
|
|
|
# Port on which Redis in-memory data structure store is running.
|
|
|
|
|
# Default: REDIS_PORT=16379
|
|
|
|
|
REDIS_PORT=${REDIS_PORT}
|
|
|
|
|
|
|
|
|
|
# Password to authenticate with the Redis service.
|
|
|
|
|
# Default: REDIS_PASSWORD=openIM123
|
|
|
|
|
REDIS_PASSWORD=${REDIS_PASSWORD}
|
|
|
|
|
|
|
|
|
|
# Kakfa username to authenticate with the Kafka service.
|
|
|
|
|
# KAFKA_USERNAME=${KAFKA_USERNAME}
|
|
|
|
|
|
|
|
|
|
# Port on which Kafka distributed streaming platform is running.
|
|
|
|
|
# Default: KAFKA_PORT=19092
|
|
|
|
|
KAFKA_PORT=${KAFKA_PORT}
|
|
|
|
|
|
|
|
|
|
# Topic in Kafka for storing the latest messages in Redis.
|
|
|
|
|
# Default: KAFKA_LATESTMSG_REDIS_TOPIC=latestMsgToRedis
|
|
|
|
|
KAFKA_LATESTMSG_REDIS_TOPIC=${KAFKA_LATESTMSG_REDIS_TOPIC}
|
|
|
|
|
|
|
|
|
|
# MINIO_PORT
|
|
|
|
|
# ----------
|
|
|
|
|
# MINIO_PORT sets the port for the MinIO object storage service.
|
|
|
|
|
# Upon changing this port, the MinIO endpoint URLs in the `config/config.yaml` file must be updated
|
|
|
|
|
# to reflect this change. The endpoints include both the 'endpoint' and 'signEndpoint'
|
|
|
|
|
# under the MinIO configuration.
|
|
|
|
|
#
|
|
|
|
|
# Default: MINIO_PORT=10005
|
|
|
|
|
MINIO_PORT=${MINIO_PORT}
|
|
|
|
|
|
|
|
|
|
# Access key to authenticate with the MinIO service.
|
|
|
|
|
# Default: MINIO_ACCESS_KEY=root
|
|
|
|
|
# MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
|
|
|
|
|
|
|
|
|
|
# Secret key corresponding to the access key for MinIO authentication.
|
|
|
|
|
# Default: MINIO_SECRET_KEY=openIM123
|
|
|
|
|
MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
|
|
|
|
|
|
|
|
|
|
# ----- Prometheus Configuration -----
|
|
|
|
|
# Port on which Prometheus service is running.
|
|
|
|
|
# Default: PROMETHEUS_PORT=19090
|
|
|
|
|
PROMETHEUS_PORT=${PROMETHEUS_PORT}
|
|
|
|
|
|
|
|
|
|
# ----- Grafana Configuration -----
|
|
|
|
|
# Port on which Grafana service is running.
|
|
|
|
|
# Default: GRAFANA_PORT=13000
|
|
|
|
|
GRAFANA_PORT=${GRAFANA_PORT}
|
|
|
|
|
|
|
|
|
|
# ======================================
|
|
|
|
|
# ============ OpenIM Web ===============
|
|
|
|
|
# ======================================
|
|
|
|
|
|
|
|
|
|
# Port on which OpenIM web service is running.
|
|
|
|
|
# Default: OPENIM_WEB_PORT=11001
|
|
|
|
|
OPENIM_WEB_PORT=${OPENIM_WEB_PORT}
|
|
|
|
|
|
|
|
|
|
# ======================================
|
|
|
|
|
# ========= OpenIM Server ==============
|
|
|
|
|
# ======================================
|
|
|
|
|
# Port for the OpenIM WebSockets.
|
|
|
|
|
# Default: OPENIM_WS_PORT=10001
|
|
|
|
|
OPENIM_WS_PORT=${OPENIM_WS_PORT}
|
|
|
|
|
|
|
|
|
|
# API_OPENIM_PORT
|
|
|
|
|
# ---------------
|
|
|
|
|
# This variable defines the port on which the OpenIM API service will listen.
|
|
|
|
|
# When changing this port, it's essential to update the apiURL in the config.yaml file
|
|
|
|
|
# to ensure the API service is accessible at the new port.
|
|
|
|
|
#
|
|
|
|
|
# Default: API_OPENIM_PORT=10002
|
|
|
|
|
API_OPENIM_PORT=${API_OPENIM_PORT}
|
|
|
|
|
|
|
|
|
|
# ======================================
|
|
|
|
|
# ========== OpenIM Chat ===============
|
|
|
|
|
# ======================================
|
|
|
|
|
|
|
|
|
|
# Branch name for OpenIM chat.
|
|
|
|
|
# Default: CHAT_IMAGE_VERSION=main
|
|
|
|
|
CHAT_IMAGE_VERSION=${CHAT_IMAGE_VERSION}
|
|
|
|
|
|
|
|
|
|
# Port for the OpenIM chat API.
|
|
|
|
|
# Default: OPENIM_CHAT_API_PORT=10008
|
|
|
|
|
OPENIM_CHAT_API_PORT=${OPENIM_CHAT_API_PORT}
|
|
|
|
|
|
|
|
|
|
# Port for the OpenIM admin API.
|
|
|
|
|
# Default: OPENIM_ADMIN_API_PORT=10009
|
|
|
|
|
OPENIM_ADMIN_API_PORT=${OPENIM_ADMIN_API_PORT}
|
|
|
|
|
|
|
|
|
|
# ======================================
|
|
|
|
|
# ========== OpenIM Admin ==============
|
|
|
|
|
# ======================================
|
|
|
|
|
|
|
|
|
|
# Branch name for OpenIM server.
|
|
|
|
|
# Default: SERVER_IMAGE_VERSION=main
|
|
|
|
|
SERVER_IMAGE_VERSION=${SERVER_IMAGE_VERSION}
|
|
|
|
|
|
|
|
|
|
# Port for the node exporter.
|
|
|
|
|
# Default: NODE_EXPORTER_PORT=19100
|
|
|
|
|
NODE_EXPORTER_PORT=${NODE_EXPORTER_PORT}
|
|
|
|
|
|
|
|
|
|
# Port for the prometheus.
|
|
|
|
|
# Default: PROMETHEUS_PORT=19090
|
|
|
|
|
PROMETHEUS_PORT=${PROMETHEUS_PORT}
|
|
|
|
|
|
|
|
|
|
# Port for the grafana.
|
|
|
|
|
# Default: GRAFANA_PORT=13000
|
|
|
|
|
GRAFANA_PORT=${GRAFANA_PORT}
|
|
|
|
|
|
|
|
|
|
# Port for the admin front.
|
|
|
|
|
# Default: OPENIM_ADMIN_FRONT_PORT=11002
|
|
|
|
|
OPENIM_ADMIN_FRONT_PORT=${OPENIM_ADMIN_FRONT_PORT}
|
|
|
|
|
|
|
|
|
|
# Port for the alertmanager.
|
|
|
|
|
# Default: ALERT_MANAGER_PORT=19093
|
|
|
|
|
ALERT_MANAGER_PORT=${ALERT_MANAGER_PORT}
|