version: '2'
services:
  zookeeper:
    # use official zookeeper image
    image: zookeeper
    ports:
      - "2181:2181"
    
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      # YOU MUST CHANGE THE IP TO YOURS.
      KAFKA_ADVERTISED_HOST_NAME: 192.168.60.54 
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 
      # CHANGE IT TO YOURS.
      KAFKA_NUM_PARTITIONS: 10
      KAFKA_MESSAGE_MAX_BYTES: 10485760
      KAFKA_REPLICA_FETCH_MAX_BYTES: 10485760
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - "zookeeper"

  ether:
    image: uhub.ucloud.cn/pingcap/wormhole
    ports:
      - "12379:12379"
      - "12380:12380"
    entrypoint: /ether
    command:
      - --name=ether
      - --client-urls=http://0.0.0.0:12379
      - --peer-urls=http://0.0.0.0:12380
      - --advertise-client-urls=http://ether:12379
      - --advertise-peer-urls=http://ether:12380
      - -L=info

  portal:
    image: uhub.ucloud.cn/pingcap/wormhole
    ports:
      - "10086:10086"
    entrypoint: /portal
    command:
      - --ether-urls=ether:12379
      - --zookeeper-urls=zookeeper:2181
      - -L=info
      - --status-port=10086
    depends_on:
      - "zookeeper"
      - "kafka"
      - "ether"

  stargate:
    image: uhub.ucloud.cn/pingcap/wormhole
    ports:
      - "10087:10087"
    entrypoint: /stargate
    command:
      - --ether-urls=ether:12379
      - --zookeeper-urls=zookeeper:2181
      - -L=info
      - --status-port=10087
    depends_on:
      - "zookeeper"
      - "kafka"
      - "ether"