blob: 26c9a297e15038a7c9cb0b2377a66f9e86920fe9 [file] [log] [blame]
khenaidoo2a8c6332017-10-10 15:23:49 -04001version: '2'
2services:
3 #
4 # Single-node zookeeper service
5 #
6 zookeeper:
7 image: wurstmeister/zookeeper
8 ports:
9 - 2181
10 environment:
11 SERVICE_2181_NAME: "zookeeper"
12 #
13 # Single-node kafka service
14 #
15 kafka:
16 image: wurstmeister/kafka
17 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:
26 - consul
27 volumes:
28 - /var/run/docker.sock:/var/run/docker.sock
29 #
30 # Single-node consul agent
31 #
32 consul:
33 image: consul:latest
34 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:
49 image: gliderlabs/registrator:latest
50 command: [
51 "-ip=${DOCKER_HOST_IP}",
52 "-retry-attempts", "100",
53 "-cleanup",
54 # "-internal",
55 "consul://consul:8500"
56 ]
57 links:
58 - consul
59 volumes:
60 - "/var/run/docker.sock:/tmp/docker.sock"
61
62 #
63 # Fluentd log server
64 #
65 fluentd:
66 image: fluent/fluentd
67 ports:
68 - "24224:24224"
69 volumes:
70 - "/tmp/fluentd:/fluentd/log"
71 environment:
72 SERVICE_24224_NAME: "fluentd-intake"
73
74 #
75 # Graphite-Grafana-statsd service instance
76 # (demo place-holder for external KPI system)
77 #
78 grafana:
79 image: voltha/grafana
80 ports:
81 - "8883:80"
82 - "2003:2003"
83 - "2004:2004"
84 - "8126:8126"
85 - "8125:8125/udp"
86 environment:
87 SERVICE_80_NAME: "grafana-web-ui"
88 SERVICE_2003_NAME: "carbon-plain-text-intake"
89 SERVICE_2004_NAME: "carbon-pickle-intake"
90 SERVICE_8126_NAME: "statsd-tcp-intake"
91 SERVICE_8125_NAME: "statsd-udp-intake"
92 GR_SERVER_ROOT_URL: "http://localhost:80/grafana/"
93
94 #
95 # Shovel (Kafka-graphite-gateway)
96 #
97 shovel:
98 image: cord/shovel
99 command: [
100 "/shovel/shovel/main.py",
101 "--kafka=@kafka",
102 "--consul=${DOCKER_HOST_IP}:8500",
103 "--topic=voltha.kpis",
104 "--host=${DOCKER_HOST_IP}"
105 ]
106 depends_on:
107 - consul
108 - kafka
109 - grafana
110 restart: unless-stopped
111
112 #
113 # Voltha server instance(s)
114 #
115 voltha:
116 image: cord/voltha
117 command: [
118 "/voltha/voltha/main.py",
119 "-v",
120 "--consul=${DOCKER_HOST_IP}:8500",
121 "--fluentd=fluentd:24224",
122 "--rest-port=8880",
123 "--grpc-port=50556",
124 "--kafka=@kafka",
125 "--instance-id-is-container-name",
126 "--interface=eth1",
127 "--backend=consul",
128 "-v"
129 ]
130 ports:
131 - 8880
132 - 50556
133 - 18880
134 depends_on:
135 - consul
136 links:
137 - consul
138 - fluentd
139 environment:
140 SERVICE_8880_NAME: "voltha-health"
141 SERVICE_8880_CHECK_HTTP: "/health"
142 SERVICE_8880_CHECK_INTERVAL: "5s"
143 SERVICE_8880_CHECK_TIMEOUT: "1s"
144 SERVICE_18880_NAME: "voltha-sim-rest"
145 SERVICE_HOST_IP: "${DOCKER_HOST_IP}"
146 SERVICE_50556_NAME: "vcore-grpc"
147 volumes:
148 - "/var/run/docker.sock:/tmp/docker.sock"
149 networks:
150 - default
151 - ponmgmt
152
153 envoy:
154 image: voltha/envoy
155 entrypoint:
156 - /usr/local/bin/envoyd
157 - -envoy-cfg-template
158 - "/envoy/voltha-grpc-proxy.template.json"
159 - -envoy-config
160 - "/envoy/voltha-grpc-proxy.json"
161 ports:
162 - "50555:50555"
163 - "8882:8882"
164 - "8443:8443"
165 - "8001:8001"
166 environment:
167 SERVICE_50555_NAME: "voltha-grpc"
168 volumes:
169 - "/var/run/docker.sock:/tmp/docker.sock"
170 networks:
171 - default
172 - ponmgmt
173 links:
174 - voltha:vcore
175 #
176 # Voltha cli container
177 #
178 vcli:
179 image: cord/vcli
180 command: [
181 "/cli/cli/setup.sh",
182 "-L",
183 "-G"
184 ]
185 environment:
186 DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
187 ports:
188 - "5022:22"
189 depends_on:
190 - voltha
191
192#############################################
193# Item below this line will soon be removed.#
194#############################################
195
196 #
197 # Chameleon server instance(s)
198 #
199 chameleon:
200 image: cord/chameleon
201 command: [
202 "/chameleon/chameleon/main.py",
203 "-v",
204 "--consul=consul:8500",
205 "--fluentd=fluentd:24224",
206 "--rest-port=8881",
207 "--grpc-endpoint=@voltha-grpc",
208 "--instance-id-is-container-name",
209 "-v"
210 ]
211 ports:
212 - 8881
213 depends_on:
214 - consul
215 - voltha
216 links:
217 - consul
218 - fluentd
219 environment:
220 SERVICE_8881_NAME: "chameleon-rest"
221 ENABLE_TLS: "False"
222 volumes:
223 - "/var/run/docker.sock:/tmp/docker.sock"
224 #
225 # ofagent server instance
226 #
227 ofagent:
228 image: cord/ofagent
229 command: [
230 "/ofagent/ofagent/main.py",
231 "-v",
232 "--consul=${DOCKER_HOST_IP}:8500",
233 "--fluentd=fluentd:24224",
234 "--controller=${DOCKER_HOST_IP}:6653",
235 "--grpc-endpoint=@voltha-grpc",
236 "--instance-id-is-container-name",
237 "-v"
238 ]
239 depends_on:
240 - consul
241 - voltha
242 links:
243 - consul
244 - fluentd
245 volumes:
246 - "/var/run/docker.sock:/tmp/docker.sock"
247 restart: unless-stopped
248
249 #
250 # Netconf server instance(s)
251 #
252 netconf:
253 image: cord/netconf
254 privileged: true
255 command: [
256 "/netconf/netconf/main.py",
257 "-v",
258 "--consul=${DOCKER_HOST_IP}:8500",
259 "--fluentd=fluentd:24224",
260 "--grpc-endpoint=@voltha-grpc",
261 "--instance-id-is-container-name",
262 "-v"
263 ]
264 ports:
265 - "830:1830"
266 depends_on:
267 - consul
268 - voltha
269 links:
270 - consul
271 - fluentd
272 environment:
273 SERVICE_1830_NAME: "netconf-server"
274 volumes:
275 - "/var/run/docker.sock:/tmp/docker.sock"
276
277
278
279networks:
280 default:
281 driver: bridge
282 ponmgmt:
283 driver: bridge
284 driver_opts:
285 com.docker.network.bridge.name: "ponmgmt"