mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 16:32:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 						OpenIM Configuration File Descriptions and Common Configuration Modifications
 | ||
| 
 | ||
| ## External Component Configurations
 | ||
| 
 | ||
| | Configuration File | Description                                                 |
 | ||
| | ------------------ |-------------------------------------------------------------|
 | ||
| | **kafka.yml**      | Configuration for Kafka username, password, address, etc.   |
 | ||
| | **redis.yml**      | Configuration for Redis password, address, etc.             |
 | ||
| | **minio.yml**      | Configuration for MinIO username, password, address, etc.   |
 | ||
| | **mongodb.yml**    | Configuration for MongoDB username, password, address, etc. |
 | ||
| | **discovery.yml**  | Service discovery and etcd credentials and address.         |
 | ||
| 
 | ||
| ## OpenIMServer Related Configurations
 | ||
| | Configuration File              | Description                                    |
 | ||
| | ------------------------------- | ---------------------------------------------- |
 | ||
| | **log.yml**                     | Configuration for logging levels and storage directory                   |
 | ||
| | **notification.yml**            | Event notification settings (e.g., add friend, create group)           |
 | ||
| | **share.yml**                   | Common settings for all services (e.g., secrets)            |
 | ||
| | **webhooks.yml**                | Webhook URLs and related settings                           |
 | ||
| | **local-cache.yml**             | Local cache settings (generally do not modify)                 |
 | ||
| | **openim-rpc-third.yml**        | openim-rpc-third listen IP, port, and object storage settings  |
 | ||
| | **openim-rpc-user.yml**         | openim-rpc-user listen IP and port settings              |
 | ||
| | **openim-api.yml**              | openim-api listen IP, port, and other settings               |
 | ||
| | **openim-crontask.yml**         | openim-crontask scheduled task settings                   |
 | ||
| | **openim-msggateway.yml**       | openim-msggateway listen IP, port, and other settings           |
 | ||
| | **openim-msgtransfer.yml**      | Settings for openim-msgtransfer service                   |
 | ||
| | **openim-push.yml**             | openim-push listen IP, port, and offline push settings        |
 | ||
| | **openim-rpc-auth.yml**         | openim-rpc-auth listen IP, port, token validity settings |
 | ||
| | **openim-rpc-conversation.yml** | openim-rpc-conversation listen IP and port settings     |
 | ||
| | **openim-rpc-friend.yml**       | openim-rpc-friend listen IP and port settings           |
 | ||
| | **openim-rpc-group.yml**        | openim-rpc-group listen IP and port settings           |
 | ||
| | **openim-rpc-msg.yml**          | openim-rpc-msg listen IP and port settings         |
 | ||
| 
 | ||
| 
 | ||
| ## Monitoring and Alerting Related Configurations
 | ||
| | Configuration File             | Description     |
 | ||
| | ------------------------------ | --------------- |
 | ||
| | **prometheus.yml**             | Prometheus configuration |
 | ||
| | **instance-down-rules.yml**    | Alert rules       |
 | ||
| | **alertmanager.yml**           | Alertmanager configuration   |
 | ||
| | **email.tmpl**                 | Email alert template   |
 | ||
| | **grefana-template/Demo.json** | Default Grafana dashboard |
 | ||
| 
 | ||
| ## Common Configuration Modifications
 | ||
| | Configuration Item                                              | Configuration File                |
 | ||
| | -------------------------------------------------------- | ----------------------- |
 | ||
| | Configure MinIO as object storage (focus on the externalAddress field) | `minio.yml`             |
 | ||
| | Adjust log level and number of log files                              | `log.yml`               |
 | ||
| | Enable or disable friend verification when sending messages                           | `openim-rpc-msg.yml`    |
 | ||
| | OpenIMServer secret                                         | `share.yml`             |
 | ||
| | Configure OSS, COS, AWS, or Kodo as object storage               | `openim-rpc-third.yml`  |
 | ||
| | Multi-end mutual kick strategy and max concurrent connections per gateway                 | `openim-msggateway.yml` |
 | ||
| | Offline message push configuration                                            | `openim-push.yml`       |
 | ||
| | Configure webhooks for callback notifications (e.g., before/after message send)         | `webhooks.yml`          |
 | ||
| | Whether new group members can view historical messages                          | `openim-rpc-group.yml`  |
 | ||
| | Token expiration time settings                                      | `openim-rpc-auth.yml`     |
 | ||
| | Scheduled task settings (e.g., how long to retain messages)                      | `openim-crontask.yml`   |
 | ||
| 
 | ||
| ## Starting Multiple Instances of a Service and Maximum File Descriptors
 | ||
| 
 | ||
| 
 | ||
| To start multiple instances of an OpenIM service, simply add the corresponding port numbers and modify the `start-config.yml` file in the project’s root directory, 
 | ||
| then restart the service. For example, to start 2 instances of `openim-rpc-user`:
 | ||
| 
 | ||
| ```yaml
 | ||
| rpc:
 | ||
|   registerIP: ''
 | ||
|   listenIP: 0.0.0.0
 | ||
|   ports: [ 10110, 10111 ]
 | ||
| 
 | ||
| prometheus:
 | ||
|   enable: true
 | ||
|   ports: [ 20100, 20101 ]
 | ||
| ```
 | ||
| 
 | ||
| Modify`start-config.yml`:
 | ||
| 
 | ||
| ```yaml
 | ||
| serviceBinaries:
 | ||
|   openim-rpc-user: 2
 | ||
| ```
 | ||
| 
 | ||
| To set the maximum number of open file descriptors (typically one per online user):
 | ||
| 
 | ||
| ```
 | ||
| maxFileDescriptors: 10000
 | ||
| ```
 |