blob: aa940066b8f4df25dc85b4eefbfc955c67e4833b [file] [log] [blame]
khenaidoofe874ae2017-07-14 18:07:27 -04001version: '2'
2services:
3 #
4 # Single-node zookeeper service
5 #
6 zookeeper:
David K. Bainbridge48946172018-01-20 14:33:37 -08007 image: "wurstmeister/zookeeper:latest"
khenaidoofe874ae2017-07-14 18:07:27 -04008 ports:
9 - 2181
10 environment:
11 SERVICE_2181_NAME: "zookeeper"
12 #
13 # Single-node kafka service
14 #
15 kafka:
David K. Bainbridge48946172018-01-20 14:33:37 -080016 image: "wurstmeister/kafka:latest"
khenaidoofe874ae2017-07-14 18:07:27 -040017 ports:
18 - 9092
19 environment:
20 KAFKA_ADVERTISED_HOST_NAME: ${DOCKER_HOST_IP}
21 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
22 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
23 KAFKA_HEAP_OPTS: "-Xmx256M -Xms128M"
24 SERVICE_9092_NAME: "kafka"
25 depends_on:
Jonathan Hart87314cd2018-02-12 17:15:35 -080026 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -040027 volumes:
28 - /var/run/docker.sock:/var/run/docker.sock
29 #
30 # Single-node consul agent
31 #
Jonathan Hart87314cd2018-02-12 17:15:35 -080032 vconsul:
David K. Bainbridge48946172018-01-20 14:33:37 -080033 image: "consul:0.9.2"
khenaidoofe874ae2017-07-14 18:07:27 -040034 command: agent -server -bootstrap -client 0.0.0.0 -ui
35 ports:
36 - "8300:8300"
37 - "8400:8400"
38 - "8500:8500"
39 - "8600:8600/udp"
40 environment:
41 #SERVICE_53_IGNORE: "yes"
42 SERVICE_8300_IGNORE: "yes"
43 SERVICE_8400_IGNORE: "yes"
44 SERVICE_8500_NAME: "consul-rest"
45 #
46 # Registrator
47 #
48 registrator:
David K. Bainbridge48946172018-01-20 14:33:37 -080049 image: "gliderlabs/registrator:latest"
khenaidoofe874ae2017-07-14 18:07:27 -040050 command: [
51 "-ip=${DOCKER_HOST_IP}",
52 "-retry-attempts", "100",
53 "-cleanup",
54 # "-internal",
Jonathan Hart87314cd2018-02-12 17:15:35 -080055 "consul://vconsul:8500"
khenaidoofe874ae2017-07-14 18:07:27 -040056 ]
57 links:
Jonathan Hart87314cd2018-02-12 17:15:35 -080058 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -040059 volumes:
60 - "/var/run/docker.sock:/tmp/docker.sock"
61
62 #
63 # Fluentd log server
64 #
65 fluentd:
David K. Bainbridge48946172018-01-20 14:33:37 -080066 image: "fluent/fluentd:latest"
khenaidoofe874ae2017-07-14 18:07:27 -040067 ports:
68 - "24224:24224"
69 volumes:
70 - "/tmp/fluentd:/fluentd/log"
71 environment:
72 SERVICE_24224_NAME: "fluentd-intake"
73
74 #
75 # Voltha server instance(s)
76 #
77 voltha:
David K. Bainbridge737b74f2018-01-22 12:57:52 -080078 image: "${REGISTRY}${REPOSITORY}voltha-voltha:latest"
khenaidoo50b286d2018-03-02 17:44:30 -050079 logging:
80 driver: "json-file"
81 options:
82 max-size: "10m"
83 max-file: "3"
khenaidoofe874ae2017-07-14 18:07:27 -040084 command: [
85 "/voltha/voltha/main.py",
86 "-v",
87 "--consul=${DOCKER_HOST_IP}:8500",
khenaidoofe874ae2017-07-14 18:07:27 -040088 "--rest-port=8880",
89 "--grpc-port=50555",
90 "--kafka=@kafka",
91 "--instance-id-is-container-name",
92 "--interface=eth1",
93 "--backend=consul",
94 "-v"
95 ]
96 ports:
97 - 8880
98 - 50555
99 - 18880
100 depends_on:
Jonathan Hart87314cd2018-02-12 17:15:35 -0800101 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -0400102 links:
Jonathan Hart87314cd2018-02-12 17:15:35 -0800103 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -0400104 environment:
105 SERVICE_8880_NAME: "voltha-health"
106 SERVICE_8880_CHECK_HTTP: "/health"
107 SERVICE_8880_CHECK_INTERVAL: "5s"
108 SERVICE_8880_CHECK_TIMEOUT: "1s"
109 SERVICE_50555_NAME: "voltha-grpc"
110 SERVICE_18880_NAME: "voltha-sim-rest"
111 volumes:
112 - "/var/run/docker.sock:/tmp/docker.sock"
113 networks:
114 - default
115 - ponmgmt
116
117 #
khenaidoofe874ae2017-07-14 18:07:27 -0400118 # ofagent server instance
119 #
120 ofagent:
David K. Bainbridge737b74f2018-01-22 12:57:52 -0800121 image: "${REGISTRY}${REPOSITORY}voltha-ofagent:latest"
khenaidoo50b286d2018-03-02 17:44:30 -0500122 logging:
123 driver: "json-file"
124 options:
125 max-size: "10m"
126 max-file: "3"
khenaidoofe874ae2017-07-14 18:07:27 -0400127 command: [
128 "/ofagent/ofagent/main.py",
129 "-v",
130 "--consul=${DOCKER_HOST_IP}:8500",
khenaidoofe874ae2017-07-14 18:07:27 -0400131 "--controller=${DOCKER_HOST_IP}:6653",
132 "--grpc-endpoint=@voltha-grpc",
133 "--instance-id-is-container-name",
134 "-v"
135 ]
136 depends_on:
Jonathan Hart87314cd2018-02-12 17:15:35 -0800137 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -0400138 - voltha
139 links:
Jonathan Hart87314cd2018-02-12 17:15:35 -0800140 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -0400141 volumes:
142 - "/var/run/docker.sock:/tmp/docker.sock"
143 restart: unless-stopped
144
145 #
146 # Netconf server instance(s)
147 #
148 netconf:
David K. Bainbridge737b74f2018-01-22 12:57:52 -0800149 image: "${REGISTRY}${REPOSITORY}voltha-netconf:latest"
khenaidoo50b286d2018-03-02 17:44:30 -0500150 logging:
151 driver: "json-file"
152 options:
153 max-size: "10m"
154 max-file: "3"
khenaidoofe874ae2017-07-14 18:07:27 -0400155 privileged: true
156 command: [
157 "/netconf/netconf/main.py",
158 "-v",
159 "--consul=${DOCKER_HOST_IP}:8500",
khenaidoofe874ae2017-07-14 18:07:27 -0400160 "--grpc-endpoint=@voltha-grpc",
161 "--instance-id-is-container-name",
162 "-v"
163 ]
164 ports:
165 - "830:1830"
166 depends_on:
Jonathan Hart87314cd2018-02-12 17:15:35 -0800167 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -0400168 - voltha
169 links:
Jonathan Hart87314cd2018-02-12 17:15:35 -0800170 - vconsul
khenaidoofe874ae2017-07-14 18:07:27 -0400171 environment:
172 SERVICE_1830_NAME: "netconf-server"
173 volumes:
174 - "/var/run/docker.sock:/tmp/docker.sock"
175
176networks:
177 default:
178 driver: bridge
179 ponmgmt:
180 driver: bridge
181 driver_opts:
182 com.docker.network.bridge.name: "ponmgmt"