blob: aa940066b8f4df25dc85b4eefbfc955c67e4833b [file] [log] [blame]
version: '2'
services:
#
# Single-node zookeeper service
#
zookeeper:
image: "wurstmeister/zookeeper:latest"
ports:
- 2181
environment:
SERVICE_2181_NAME: "zookeeper"
#
# Single-node kafka service
#
kafka:
image: "wurstmeister/kafka:latest"
ports:
- 9092
environment:
KAFKA_ADVERTISED_HOST_NAME: ${DOCKER_HOST_IP}
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
KAFKA_HEAP_OPTS: "-Xmx256M -Xms128M"
SERVICE_9092_NAME: "kafka"
depends_on:
- vconsul
volumes:
- /var/run/docker.sock:/var/run/docker.sock
#
# Single-node consul agent
#
vconsul:
image: "consul:0.9.2"
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",
"-cleanup",
# "-internal",
"consul://vconsul:8500"
]
links:
- vconsul
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
#
# Fluentd log server
#
fluentd:
image: "fluent/fluentd:latest"
ports:
- "24224:24224"
volumes:
- "/tmp/fluentd:/fluentd/log"
environment:
SERVICE_24224_NAME: "fluentd-intake"
#
# Voltha server instance(s)
#
voltha:
image: "${REGISTRY}${REPOSITORY}voltha-voltha:latest"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
command: [
"/voltha/voltha/main.py",
"-v",
"--consul=${DOCKER_HOST_IP}:8500",
"--rest-port=8880",
"--grpc-port=50555",
"--kafka=@kafka",
"--instance-id-is-container-name",
"--interface=eth1",
"--backend=consul",
"-v"
]
ports:
- 8880
- 50555
- 18880
depends_on:
- vconsul
links:
- vconsul
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"
SERVICE_18880_NAME: "voltha-sim-rest"
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
networks:
- default
- ponmgmt
#
# ofagent server instance
#
ofagent:
image: "${REGISTRY}${REPOSITORY}voltha-ofagent:latest"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
command: [
"/ofagent/ofagent/main.py",
"-v",
"--consul=${DOCKER_HOST_IP}:8500",
"--controller=${DOCKER_HOST_IP}:6653",
"--grpc-endpoint=@voltha-grpc",
"--instance-id-is-container-name",
"-v"
]
depends_on:
- vconsul
- voltha
links:
- vconsul
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
restart: unless-stopped
#
# Netconf server instance(s)
#
netconf:
image: "${REGISTRY}${REPOSITORY}voltha-netconf:latest"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
privileged: true
command: [
"/netconf/netconf/main.py",
"-v",
"--consul=${DOCKER_HOST_IP}:8500",
"--grpc-endpoint=@voltha-grpc",
"--instance-id-is-container-name",
"-v"
]
ports:
- "830:1830"
depends_on:
- vconsul
- voltha
links:
- vconsul
environment:
SERVICE_1830_NAME: "netconf-server"
volumes:
- "/var/run/docker.sock:/tmp/docker.sock"
networks:
default:
driver: bridge
ponmgmt:
driver: bridge
driver_opts:
com.docker.network.bridge.name: "ponmgmt"