# 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=/workspaces/open-im-server # 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=ghcr.io/openimsdk # ====================================== # ========= Network Configuration ====== # ====================================== # Subnet for the Docker network. # Default: DOCKER_BRIDGE_SUBNET=172.28.0.0/16 DOCKER_BRIDGE_SUBNET=172.28.0.0/16 # 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=172.28.0.1 MONGO_NETWORK_ADDRESS=172.28.0.2 REDIS_NETWORK_ADDRESS=172.28.0.3 KAFKA_NETWORK_ADDRESS=172.28.0.4 ZOOKEEPER_NETWORK_ADDRESS=172.28.0.5 MINIO_NETWORK_ADDRESS=172.28.0.6 OPENIM_WEB_NETWORK_ADDRESS=172.28.0.7 OPENIM_SERVER_NETWORK_ADDRESS=172.28.0.8 OPENIM_CHAT_NETWORK_ADDRESS=172.28.0.9 PROMETHEUS_NETWORK_ADDRESS=172.28.0.10 GRAFANA_NETWORK_ADDRESS=172.28.0.11 NODE_EXPORTER_NETWORK_ADDRESS=172.28.0.12 OPENIM_ADMIN_FRONT_NETWORK_ADDRESS=172.28.0.13 ALERT_MANAGER_NETWORK_ADDRESS=172.28.0.14 # ============================================================================== # 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=172.28.0.1 # ----- ZooKeeper Configuration ----- # Port for ZooKeeper service. # Default: ZOOKEEPER_PORT=12181 ZOOKEEPER_PORT=12181 # MongoDB service port configuration. # Default: MONGO_PORT=37017 # MONGO_PORT=37017 # Password for MongoDB admin user. Used for service authentication. # Default: MONGO_PASSWORD=openIM123 MONGO_PASSWORD=openIM123 # Username for a regular OpenIM user in MongoDB. # Default: MONGO_OPENIM_USERNAME=openIM MONGO_OPENIM_USERNAME=openIM # Password for a regular OpenIM user in MongoDB. # Default: MONGO_OPENIM_PASSWORD=openIM123456 MONGO_OPENIM_PASSWORD=openIM123 # Specifies the database name to be used within MongoDB. # Default: MONGO_DATABASE=openim_v3 MONGO_DATABASE=openim_v3 # ----- Redis Configuration ----- # Port on which Redis in-memory data structure store is running. # Default: REDIS_PORT=16379 REDIS_PORT=16379 # Password to authenticate with the Redis service. # Default: REDIS_PASSWORD=openIM123 REDIS_PASSWORD=openIM123 # Kakfa username to authenticate with the Kafka service. # KAFKA_USERNAME='' # Port on which Kafka distributed streaming platform is running. # Default: KAFKA_PORT=19092 KAFKA_PORT=19094 # Topic in Kafka for storing the latest messages in Redis. # Default: KAFKA_LATESTMSG_REDIS_TOPIC=latestMsgToRedis KAFKA_LATESTMSG_REDIS_TOPIC=latestMsgToRedis # MINIO_PORT # ---------- # MINIO_PORT sets the port for the MinIO object storage service. # Upon changing this port, the MinIO endpoint URLs in the 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=10005 # Access key to authenticate with the MinIO service. # Default: MINIO_ACCESS_KEY=root # MINIO_ACCESS_KEY=root # Secret key corresponding to the access key for MinIO authentication. # Default: MINIO_SECRET_KEY=openIM123 MINIO_SECRET_KEY=openIM123 # ----- Prometheus Configuration ----- # Port on which Prometheus service is running. # Default: PROMETHEUS_PORT=19090 PROMETHEUS_PORT=19090 # ----- Grafana Configuration ----- # Port on which Grafana service is running. # Default: GRAFANA_PORT=13000 GRAFANA_PORT=13000 # ====================================== # ============ OpenIM Web =============== # ====================================== # Port on which OpenIM web service is running. # Default: OPENIM_WEB_PORT=11001 OPENIM_WEB_PORT=11001 # ====================================== # ========= OpenIM Server ============== # ====================================== # Port for the OpenIM WebSockets. # Default: OPENIM_WS_PORT=10001 OPENIM_WS_PORT=10001 # 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=10002 # ====================================== # ========== OpenIM Chat =============== # ====================================== # Branch name for OpenIM chat. # Default: CHAT_IMAGE_VERSION=main CHAT_IMAGE_VERSION=main # Port for the OpenIM chat API. # Default: OPENIM_CHAT_API_PORT=10008 OPENIM_CHAT_API_PORT=10008 # Port for the OpenIM admin API. # Default: OPENIM_ADMIN_API_PORT=10009 OPENIM_ADMIN_API_PORT=10009 # ====================================== # ========== OpenIM Admin ============== # ====================================== # Branch name for OpenIM server. # Default: SERVER_IMAGE_VERSION=main SERVER_IMAGE_VERSION=main # Port for the node exporter. # Default: NODE_EXPORTER_PORT=19100 NODE_EXPORTER_PORT=19100 # Port for the prometheus. # Default: PROMETHEUS_PORT=19090 PROMETHEUS_PORT=19090 # Port for the grafana. # Default: GRAFANA_PORT=13000 GRAFANA_PORT=13000 # Port for the admin front. # Default: OPENIM_ADMIN_FRONT_PORT=11002 OPENIM_ADMIN_FRONT_PORT=11002 # Port for the alertmanager. # Default: ALERT_MANAGER_PORT=19093 ALERT_MANAGER_PORT=19093