mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-01 00:42:13 +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}
 | ||
| 
 | ||
| # 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}
 |