version: "3.7" #fixme Clone openIM Server project before using docker-compose,project address:https://github.com/OpenIMSDK/Open-IM-Server.git networks: openim: external: true services: api: networks: - openim image: openim/api container_name: openim_api ports: - 10000:10000 # API,必须开 volumes: - ./logs:/app/logs # Dockerfile 里定义了配置文件的路径环境变量,CONFIG_NAME,默认指向了 /app/config/config.yaml - ./config/config.yaml:/app/config/config.yaml restart: always # depends_on: # - kafka # # - mysql # # - mongodb # - redis # - etcd logging: driver: json-file options: max-size: "1g" max-file: "2" # 如果需要sdk,则可以拉起 sdk: networks: - openim image: openim/sdk container_name: openim_sdk ports: - 30000:30000 # sdk,必须开 environment: - "API_ENDPOINT=http://openim_api:10000" - "WS_ENDPOINT=http://openim_msg_gateway:17778" volumes: - ./logs:/app/logs - ./db/sdk:/app/db/sdk restart: always depends_on: - api - msg_gateway logging: driver: json-file options: max-size: "1g" max-file: "2" msg_gateway: networks: - openim image: openim/msg_gateway container_name: openim_msg_gateway ports: - 17778:17778 # 消息,必须开 volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always logging: driver: json-file options: max-size: "1g" max-file: "2" msg_transfer: networks: - openim image: openim/msg_transfer container_name: openim_msg_transfer volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always logging: driver: json-file options: max-size: "1g" max-file: "2" push: networks: - openim image: openim/push container_name: openim_push volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always logging: driver: json-file options: max-size: "1g" max-file: "2" timer_task: networks: - openim image: openim/timer_task container_name: openim_timer_task volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always # depends_on: # - kafka # # - mysql # # - mongodb # - redis # - etcd logging: driver: json-file options: max-size: "1g" max-file: "2" rpc_user: networks: - openim image: openim/rpc_user container_name: openim_rpc_user volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always logging: driver: json-file options: max-size: "1g" max-file: "2" rpc_friend: networks: - openim image: openim/rpc_friend container_name: openim_rpc_friend volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always rpc_group: networks: - openim image: openim/rpc_group container_name: openim_rpc_group volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always rpc_auth: networks: - openim image: openim/rpc_auth container_name: openim_rpc_auth volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always rpc_msg: networks: - openim image: openim/rpc_msg container_name: openim_rpc_msg volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always demo: networks: - openim image: openim/demo container_name: openim_demo ports: - 42233:42233 volumes: - ./logs:/app/logs - ./config/config.yaml:/app/config/config.yaml restart: always