mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 11:22:10 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			238 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			238 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# 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}
 | 
						||
 | 
						||
MONGO_MAX_POOL_SIZE=${MONGO_MAX_POOL_SIZE}
 | 
						||
# ----- 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}
 | 
						||
 | 
						||
# Kafka 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}
 |