| version: '2' |
| services: |
| # |
| # Single-node zookeeper service |
| # |
| zookeeper: |
| image: wurstmeister/zookeeper |
| ports: |
| - 2181 |
| environment: |
| SERVICE_2181_NAME: "zookeeper" |
| # |
| # Single-node kafka service |
| # |
| kafka: |
| image: wurstmeister/kafka |
| ports: |
| - 9092 |
| environment: |
| KAFKA_ADVERTISED_HOST_NAME: ${DOCKER_HOST_IP} |
| KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 |
| KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' |
| SERVICE_9092_NAME: "kafka" |
| depends_on: |
| - consul |
| volumes: |
| - /var/run/docker.sock:/var/run/docker.sock |
| # |
| # Single-node consul agent |
| # |
| consul: |
| image: consul:latest |
| command: agent -server -bootstrap -client 0.0.0.0 -ui |
| ports: |
| - "8300:8300" |
| - "8400:8400" |
| - "8500:8500" |
| - "8600:8600/udp" |
| environment: |
| #SERVICE_53_IGNORE: "yes" |
| SERVICE_8300_IGNORE: "yes" |
| SERVICE_8400_IGNORE: "yes" |
| SERVICE_8500_NAME: "consul-rest" |
| # |
| # Registrator |
| # |
| registrator: |
| image: gliderlabs/registrator:latest |
| command: [ |
| "-ip=${DOCKER_HOST_IP}", |
| "-retry-attempts", "100", |
| # "-internal", |
| "consul://consul:8500" |
| ] |
| links: |
| - consul |
| volumes: |
| - "/var/run/docker.sock:/tmp/docker.sock" |
| # |
| # Fluentd log server |
| # |
| fluentd: |
| image: fluent/fluentd |
| ports: |
| - "24224:24224" |
| volumes: |
| - "/tmp/fluentd:/fluentd/log" |
| environment: |
| SERVICE_24224_NAME: "fluentd-intake" |
| # |
| # Voltha server instance(s) |
| # |
| voltha: |
| image: cord/voltha |
| command: [ |
| "/voltha/main.py", |
| "-v", |
| "--consul=${DOCKER_HOST_IP}:8500", |
| "--fluentd=fluentd:24224", |
| "--rest-port=8880", |
| "--grpc-port=50555", |
| "--kafka=@kafka", |
| "--instance-id-is-container-name", |
| "-v" |
| ] |
| ports: |
| - 8880 |
| - 50555 |
| depends_on: |
| - consul |
| links: |
| - consul |
| - fluentd |
| environment: |
| SERVICE_8880_NAME: "voltha-health" |
| SERVICE_8880_CHECK_HTTP: "/health" |
| SERVICE_8880_CHECK_INTERVAL: "5s" |
| SERVICE_8880_CHECK_TIMEOUT: "1s" |
| SERVICE_50555_NAME: "voltha-grpc" |
| volumes: |
| - "/var/run/docker.sock:/tmp/docker.sock" |
| # |
| # Chameleon server instance(s) |
| # |
| chameleon: |
| image: cord/chameleon |
| command: [ |
| "/chameleon/main.py", |
| "-v", |
| "--consul=consul:8500", |
| "--fluentd=fluentd:24224", |
| "--rest-port=8881", |
| "--grpc-endpoint=@voltha-grpc", |
| "--instance-id-is-container-name", |
| "-v" |
| ] |
| ports: |
| - 8881 |
| depends_on: |
| - consul |
| - voltha |
| links: |
| - consul |
| - fluentd |
| environment: |
| SERVICE_8881_NAME: "chameleon-rest" |
| volumes: |
| - "/var/run/docker.sock:/tmp/docker.sock" |