docker-compose.yaml 2.9 KB
Newer Older
W
wenxu12345 已提交
1
version: "3"
落凡尘.'s avatar
落凡尘. 已提交
2
#fixme  Clone openIM Server project before using docker-compose,project address:https://github.com/OpenIMSDK/Open-IM-Server.git
落凡尘.'s avatar
落凡尘. 已提交
3 4 5 6 7

services:
  mysql:
    image: mysql:5.7
    ports:
W
wenxu12345 已提交
8 9
      - 13306:3306
      - 23306:33060
落凡尘.'s avatar
落凡尘. 已提交
10 11
    container_name: mysql
    volumes:
落凡尘.'s avatar
落凡尘. 已提交
12
      - ./components/mysql/data:/var/lib/mysql
落凡尘.'s avatar
落凡尘. 已提交
13
      - /etc/localtime:/etc/localtime
落凡尘.'s avatar
落凡尘. 已提交
14
    environment:
落凡尘.'s avatar
落凡尘. 已提交
15
      MYSQL_ROOT_PASSWORD: openIM
落凡尘.'s avatar
落凡尘. 已提交
16 17 18
    restart: always

  mongodb:
W
wenxu12345 已提交
19
    image: mongo:4.0
落凡尘.'s avatar
落凡尘. 已提交
20
    ports:
W
wenxu12345 已提交
21
      - 37017:27017
落凡尘.'s avatar
落凡尘. 已提交
22 23
    container_name: mongo
    volumes:
W
wenxu12345 已提交
24 25 26
      - ./components/mongodb/data/db:/data/db
      - ./components/mongodb/data/logs:/data/logs
      - ./components/mongodb/data/conf:/etc/mongo
S
skiffer-git 已提交
27 28 29
  #  environment:
   #   - MONGO_INITDB_ROOT_USERNAME=openIM
    #  - MONGO_INITDB_ROOT_PASSWORD=openIM
W
wenxu12345 已提交
30 31

      #TZ: Asia/Shanghai
落凡尘.'s avatar
落凡尘. 已提交
32 33 34 35 36
    restart: always

  redis:
    image: redis
    ports:
W
wenxu12345 已提交
37
      - 16379:6379
落凡尘.'s avatar
落凡尘. 已提交
38 39
    container_name: redis
    volumes:
落凡尘.'s avatar
落凡尘. 已提交
40
      - ./components/redis/data:/data
落凡尘.'s avatar
落凡尘. 已提交
41 42
      #redis config file
      #- ./components/redis/config/redis.conf:/usr/local/redis/config/redis.conf
落凡尘.'s avatar
落凡尘. 已提交
43 44
    environment:
      TZ: Asia/Shanghai
落凡尘.'s avatar
落凡尘. 已提交
45
    restart: always
落凡尘.'s avatar
落凡尘. 已提交
46 47
    sysctls:
      net.core.somaxconn: 1024
落凡尘.'s avatar
落凡尘. 已提交
48
    command: redis-server --requirepass openIM --appendonly yes
落凡尘.'s avatar
落凡尘. 已提交
49

落凡尘.'s avatar
落凡尘. 已提交
50 51 52 53 54 55 56 57

  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - 2181:2181
    container_name: zookeeper
    volumes:
      - /etc/localtime:/etc/localtime
落凡尘.'s avatar
落凡尘. 已提交
58 59
    environment:
      TZ: Asia/Shanghai
落凡尘.'s avatar
落凡尘. 已提交
60 61 62 63 64 65 66 67
    restart: always


  kafka:
    image: wurstmeister/kafka
    container_name: kafka
    restart: always
    environment:
落凡尘.'s avatar
落凡尘. 已提交
68 69
      TZ: Asia/Shanghai
      KAFKA_BROKER_ID: 0
70
      KAFKA_ZOOKEEPER_CONNECT: 127.0.0.1:2181
落凡尘.'s avatar
落凡尘. 已提交
71 72
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
落凡尘.'s avatar
落凡尘. 已提交
73
    network_mode: "host"
落凡尘.'s avatar
落凡尘. 已提交
74 75 76 77
    depends_on:
      - zookeeper

  etcd:
落凡尘.'s avatar
落凡尘. 已提交
78
    image: quay.io/coreos/etcd
落凡尘.'s avatar
落凡尘. 已提交
79 80 81
    ports:
      - 2379:2379
      - 2380:2380
落凡尘.'s avatar
落凡尘. 已提交
82 83
    container_name: etcd
    volumes:
落凡尘.'s avatar
落凡尘. 已提交
84
      - /etc/timezone:/etc/timezone
落凡尘.'s avatar
落凡尘. 已提交
85 86 87
      - /etc/localtime:/etc/localtime
    environment:
      ETCDCTL_API: 3
落凡尘.'s avatar
落凡尘. 已提交
88
    restart: always
落凡尘.'s avatar
落凡尘. 已提交
89 90
    command: /usr/local/bin/etcd --name etcd0 --data-dir /etcd-data --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-advertise-peer-urls http://0.0.0.0:2380 --initial-cluster etcd0=http://0.0.0.0:2380 --initial-cluster-token tkn --initial-cluster-state new

W
wenxu12345 已提交
91
  open_im_server:
W
v2.0.0  
wenxu12345 已提交
92
    image: openim/open_im_server:v1.0.8
W
wenxu12345 已提交
93
    container_name: open_im_server
落凡尘.'s avatar
落凡尘. 已提交
94
    volumes:
落凡尘.'s avatar
落凡尘. 已提交
95 96
      - ./logs:/Open-IM-Server/logs
      - ./config/config.yaml:/Open-IM-Server/config/config.yaml
W
wenxu12345 已提交
97
      - ./db/sdk:/Open-IM-Server/db/sdk
W
wenxu12345 已提交
98 99
      - ./script:/Open-IM-Server/script

落凡尘.'s avatar
落凡尘. 已提交
100 101
    restart: always
    depends_on:
落凡尘.'s avatar
落凡尘. 已提交
102
      - kafka
落凡尘.'s avatar
落凡尘. 已提交
103 104 105
      - mysql
      - mongodb
      - redis
落凡尘.'s avatar
落凡尘. 已提交
106 107 108 109 110 111 112
      - etcd
    network_mode: "host"
    logging:
      driver: json-file
      options:
        max-size: "1g"
        max-file: "2"