mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 00:12:18 +08:00 
			
		
		
		
	* fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * cicd: robot automated Change * fix: component * fix: getConversationInfo * feat: cron task * feat: cron task * feat: cron task * feat: cron task * feat: cron task * fix: minio config url recognition error * new mongo * new mongo * new mongo * new mongo * new mongo * new mongo * new mongo * new mongo * friend incr sync * friend incr sync * friend incr sync * friend incr sync * friend incr sync * mage * optimization version log * optimization version log * sync * sync * sync * group sync * sync option * sync option * refactor: replace `friend` package with `realtion`. * refactor: update lastest commit to relation. * sync option * sync option * sync option * sync * sync * go.mod * seq * update: go mod * refactor: change incremental to full * feat: get full friend user ids * feat: api and config * seq * group version * merge * seq * seq * seq * fix: sort by id avoid unstable sort friends. * group * group * group * fix: sort by id avoid unstable sort friends. * fix: sort by id avoid unstable sort friends. * fix: sort by id avoid unstable sort friends. * user version * seq * seq * seq user * user online * implement minio expire delete. * user online * config * fix * fix * implement minio expire delete logic. * online cache * online cache * online cache * online cache * online cache * online cache * online cache * online cache * online cache * online cache * online cache * online cache * feat: implement scheduled delete outdated object in minio. * update gomake version * update gomake version * implement FindExpires pagination. * remove unnesseary incr. * fix uncorrect args call. * online push * online push * online push * resolving conflicts * resolving conflicts * test * api prommetrics * api prommetrics * api prommetrics * api prommetrics * api prommetrics * rpc prommetrics * rpc prommetrics * online status * online status * online status * online status * sub * conversation version incremental * merge seq * merge online * merge online * merge online * merge seq * GetOwnerConversation * fix: change incremental syncer router name. * rockscache batch get * rockscache seq batch get * fix: GetMsgDocModelByIndex bug * update go.mod * update go.mod * merge * feat: prometheus * feat: prometheus --------- Co-authored-by: withchao <withchao@users.noreply.github.com> Co-authored-by: Monet Lee <monet_lee@163.com> Co-authored-by: OpenIM-Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: icey-yu <1186114839@qq.com>
		
			
				
	
	
		
			190 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			190 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| version: '3'
 | |
| 
 | |
| networks:
 | |
|   openim:
 | |
|     driver: bridge
 | |
| 
 | |
| services:
 | |
|   mongodb:
 | |
|     image: "${MONGO_IMAGE}"
 | |
|     ports:
 | |
|       - "37017:27017"
 | |
|     container_name: mongo
 | |
|     command: ["/bin/bash", "-c", "/docker-entrypoint-initdb.d/mongo-init.sh; docker-entrypoint.sh mongod --wiredTigerCacheSizeGB 1 --auth"]
 | |
|     volumes:
 | |
|       - "${DATA_DIR}/components/mongodb/data/db:/data/db"
 | |
|       - "${DATA_DIR}/components/mongodb/data/logs:/data/logs"
 | |
|       - "${DATA_DIR}/components/mongodb/data/conf:/etc/mongo"
 | |
|       - "./scripts/mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh:ro"
 | |
|     environment:
 | |
|       - TZ=Asia/Shanghai
 | |
|       - wiredTigerCacheSizeGB=1
 | |
|       - MONGO_INITDB_ROOT_USERNAME=root
 | |
|       - MONGO_INITDB_ROOT_PASSWORD=openIM123
 | |
|       - MONGO_INITDB_DATABASE=openim_v3
 | |
|       - MONGO_OPENIM_USERNAME=openIM
 | |
|       - MONGO_OPENIM_PASSWORD=openIM123
 | |
|     restart: always
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   redis:
 | |
|     image: "${REDIS_IMAGE}"
 | |
|     container_name: redis
 | |
|     ports:
 | |
|       - "16379:6379"
 | |
|     volumes:
 | |
|       - "${DATA_DIR}/components/redis/data:/data"
 | |
|       - "${DATA_DIR}/components/redis/config/redis.conf:/usr/local/redis/config/redis.conf"
 | |
|     environment:
 | |
|       TZ: Asia/Shanghai
 | |
|     restart: always
 | |
|     sysctls:
 | |
|       net.core.somaxconn: 1024
 | |
|     command: redis-server /usr/local/redis/config/redis.conf --requirepass openIM123 --appendonly yes
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   zookeeper:
 | |
|     image: "${ZOOKEEPER_IMAGE}"
 | |
|     container_name: zookeeper
 | |
|     ports:
 | |
|       - "12181:2181"
 | |
|     environment:
 | |
|       #JVMFLAGS: "-Xms32m -Xmx128m"
 | |
|       TZ: "Asia/Shanghai"
 | |
|       ALLOW_ANONYMOUS_LOGIN: "yes"
 | |
|     restart: always
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   etcd:
 | |
|     image: "${ETCD_IMAGE}"
 | |
|     container_name: etcd
 | |
|     ports:
 | |
|       - "12379:2379"
 | |
|       - "12380:2380"
 | |
|     environment:
 | |
|       - ETCD_NAME=s1
 | |
|       - ETCD_DATA_DIR=/etcd-data
 | |
|       - ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
 | |
|       - ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379
 | |
|       - ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
 | |
|       - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://0.0.0.0:2380
 | |
|       - ETCD_INITIAL_CLUSTER=s1=http://0.0.0.0:2380
 | |
|       - ETCD_INITIAL_CLUSTER_TOKEN=tkn
 | |
|       - ETCD_INITIAL_CLUSTER_STATE=new
 | |
|     restart: always
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   kafka:
 | |
|     image: "${KAFKA_IMAGE}"
 | |
|     container_name: kafka
 | |
|     user: root
 | |
|     restart: always
 | |
|     ports:
 | |
|       - "19094:9094"
 | |
|     volumes:
 | |
|       - ./scripts/create-topic.sh:/opt/bitnami/kafka/create-topic.sh
 | |
|       - "${DATA_DIR}/components/kafka:/bitnami/kafka"
 | |
|     command: >
 | |
|       bash -c "/opt/bitnami/scripts/kafka/run.sh & /opt/bitnami/kafka/create-topic.sh; wait"
 | |
|     environment:
 | |
|       #KAFKA_HEAP_OPTS: "-Xms128m -Xmx256m"
 | |
|       TZ: Asia/Shanghai
 | |
|       KAFKA_CFG_NODE_ID: 0
 | |
|       KAFKA_CFG_PROCESS_ROLES: controller,broker
 | |
|       KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 0@kafka:9093
 | |
|       KAFKA_CFG_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
 | |
|       KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,EXTERNAL://localhost:19094
 | |
|       KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
 | |
|       KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
| 
 | |
|   minio:
 | |
|     image: "${MINIO_IMAGE}"
 | |
|     ports:
 | |
|       - "10005:9000"
 | |
|       - "19090:9090"
 | |
|     container_name: minio
 | |
|     volumes:
 | |
|       - "${DATA_DIR}/components/mnt/data:/data"
 | |
|       - "${DATA_DIR}/components/mnt/config:/root/.minio"
 | |
|     environment:
 | |
|       TZ: Asia/Shanghai
 | |
|       MINIO_ROOT_USER: root
 | |
|       MINIO_ROOT_PASSWORD: openIM123
 | |
|     restart: always
 | |
|     command: minio server /data --console-address ':9090'
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   openim-web-front:
 | |
|     image: ${OPENIM_WEB_FRONT_IMAGE}
 | |
|     container_name: openim-web-front
 | |
|     restart: always
 | |
|     ports:
 | |
|       - "11001:80"
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   openim-admin-front:
 | |
|     image: ${OPENIM_ADMIN_FRONT_IMAGE}
 | |
|     container_name: openim-admin-front
 | |
|     restart: always
 | |
|     ports:
 | |
|       - "11002:80"
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   prometheus:
 | |
|     image: ${PROMETHEUS_IMAGE}
 | |
|     container_name: prometheus
 | |
|     restart: always
 | |
|     volumes:
 | |
|       - ./config/prometheus.yml:/etc/prometheus/prometheus.yml
 | |
|       - ./config/instance-down-rules.yml:/etc/prometheus/instance-down-rules.yml
 | |
|       - ${DATA_DIR}/components/prometheus/data:/prometheus
 | |
|     command:
 | |
|       - '--config.file=/etc/prometheus/prometheus.yml'
 | |
|       - '--storage.tsdb.path=/prometheus'
 | |
|     ports:
 | |
|       - "19091:9090"
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   alertmanager:
 | |
|     image: ${ALERTMANAGER_IMAGE}
 | |
|     container_name: alertmanager
 | |
|     restart: always
 | |
|     volumes:
 | |
|       - ./config/alertmanager.yml:/etc/alertmanager/alertmanager.yml
 | |
|       - ./config/email.tmpl:/etc/alertmanager/email.tmpl
 | |
|     ports:
 | |
|       - "19093:9093"
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
|   grafana:
 | |
|     image: ${GRAFANA_IMAGE}
 | |
|     container_name: grafana
 | |
|     user: root
 | |
|     restart: always
 | |
|     environment:
 | |
|       - GF_SECURITY_ALLOW_EMBEDDING=true
 | |
|       - GF_SESSION_COOKIE_SAMESITE=none
 | |
|       - GF_SESSION_COOKIE_SECURE=true
 | |
|       - GF_AUTH_ANONYMOUS_ENABLED=true
 | |
|       - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
 | |
|     ports:
 | |
|       - "13000:3000"
 | |
|     volumes:
 | |
|       - ${DATA_DIR:-./}/components/grafana:/var/lib/grafana
 | |
|     networks:
 | |
|       - openim
 | |
| 
 | |
| 
 |