blob: 6ccf4cb43ba560c7b58cd0082e9f6436d7aee7ad [file] [log] [blame]
Zsolt Harasztif2da1d02016-09-13 23:21:35 -07001version: '2'
2services:
3 #
khenb95fe9a2016-10-05 11:15:25 -07004 # Single-node zookeeper service
5 #
6 zookeeper:
7 image: wurstmeister/zookeeper
8 ports:
Khen Nursimuluda11dd72016-10-05 17:42:36 -07009 - 2181
khenb95fe9a2016-10-05 11:15:25 -070010 environment:
11 SERVICE_2181_NAME: "zookeeper"
12 #
13 # Single-node kafka service
14 #
15 kafka:
Khen Nursimulu74c1ef02016-10-12 21:17:42 -040016 image: wurstmeister/kafka
khenb95fe9a2016-10-05 11:15:25 -070017 ports:
Khen Nursimuluda11dd72016-10-05 17:42:36 -070018 - 9092
khenb95fe9a2016-10-05 11:15:25 -070019 environment:
20 KAFKA_ADVERTISED_HOST_NAME: ${DOCKER_HOST_IP}
21 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
22 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
Khen Nursimulu34e7ebb2016-11-10 13:38:44 -080023 KAFKA_HEAP_OPTS: "-Xmx256M -Xms128M"
khenb95fe9a2016-10-05 11:15:25 -070024 SERVICE_9092_NAME: "kafka"
25 depends_on:
26 - consul
27 volumes:
28 - /var/run/docker.sock:/var/run/docker.sock
29 #
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070030 # 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"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070039 - "8600:8600/udp"
Zsolt Haraszti3d552922016-09-14 22:26:34 -070040 environment:
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070041 #SERVICE_53_IGNORE: "yes"
Zsolt Haraszti3d552922016-09-14 22:26:34 -070042 SERVICE_8300_IGNORE: "yes"
43 SERVICE_8400_IGNORE: "yes"
44 SERVICE_8500_NAME: "consul-rest"
schowdhury87b23292017-06-01 07:14:11 -070045 volumes:
46 - "/cord/incubator/voltha/consul_config:/consul/config"
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070047 #
48 # Registrator
49 #
50 registrator:
51 image: gliderlabs/registrator:latest
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070052 command: [
53 "-ip=${DOCKER_HOST_IP}",
54 "-retry-attempts", "100",
55 # "-internal",
schowdhury9d027c02017-06-06 23:14:33 -070056 "consul://consul:8500"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070057 ]
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070058 links:
59 - consul
60 volumes:
61 - "/var/run/docker.sock:/tmp/docker.sock"
schowdhury87b23292017-06-01 07:14:11 -070062 - "/cord/incubator/voltha/reg_config:/reg/config"
63 environment:
64 CONSUL_CACERT: "/reg/config/voltha-CA-template.pem"
65 CONSUL_TLSCERT: "/reg/config/voltha-cert-template.crt"
66 CONSUL_TLSKEY: "/reg/config/voltha-pvt-template.key"
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080067
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070068 #
69 # Fluentd log server
70 #
71 fluentd:
72 image: fluent/fluentd
73 ports:
74 - "24224:24224"
75 volumes:
76 - "/tmp/fluentd:/fluentd/log"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070077 environment:
78 SERVICE_24224_NAME: "fluentd-intake"
alshabib7941d402016-11-08 00:11:20 +010079
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070080 #
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080081 # Graphite-Grafana-statsd service instance
82 # (demo place-holder for external KPI system)
83 #
84 grafana:
Sergio Slobodrianba491582017-04-24 15:49:00 -040085 image: voltha/grafana
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080086 ports:
87 - "8882:80"
88 - "2003:2003"
89 - "2004:2004"
90 - "8126:8126"
91 - "8125:8125/udp"
92 environment:
93 SERVICE_80_NAME: "grafana-web-ui"
94 SERVICE_2003_NAME: "carbon-plain-text-intake"
95 SERVICE_2004_NAME: "carbon-pickle-intake"
96 SERVICE_8126_NAME: "statsd-tcp-intake"
97 SERVICE_8125_NAME: "statsd-udp-intake"
Sergio Slobodrianba491582017-04-24 15:49:00 -040098 GR_SERVER_ROOT_URL: "http://localhost:80/grafana/"
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080099
100 #
101 # Shovel (Kafka-graphite-gateway)
102 #
103 shovel:
104 image: cord/shovel
105 command: [
106 "/shovel/shovel/main.py",
107 "--kafka=@kafka",
108 "--consul=${DOCKER_HOST_IP}:8500",
Zsolt Haraszti1b7c0362016-12-12 09:45:47 -0800109 "--topic=voltha.kpis",
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -0800110 "--host=${DOCKER_HOST_IP}"
111 ]
112 depends_on:
113 - consul
114 - kafka
115 - grafana
alshabibb634d902017-01-16 13:10:17 -0600116 restart: unless-stopped
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -0800117
118 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700119 # Voltha server instance(s)
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700120 #
121 voltha:
122 image: cord/voltha
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700123 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800124 "/voltha/voltha/main.py",
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700125 "-v",
khenb95fe9a2016-10-05 11:15:25 -0700126 "--consul=${DOCKER_HOST_IP}:8500",
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700127 "--fluentd=fluentd:24224",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700128 "--rest-port=8880",
Zsolt Haraszti45363352016-09-27 10:32:18 -0700129 "--grpc-port=50555",
khenb95fe9a2016-10-05 11:15:25 -0700130 "--kafka=@kafka",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700131 "--instance-id-is-container-name",
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800132 "--interface=eth1",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700133 "-v"
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700134 ]
135 ports:
136 - 8880
Zsolt Haraszti45363352016-09-27 10:32:18 -0700137 - 50555
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800138 - 18880
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700139 depends_on:
140 - consul
141 links:
142 - consul
143 - fluentd
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700144 environment:
Zsolt Haraszti45363352016-09-27 10:32:18 -0700145 SERVICE_8880_NAME: "voltha-health"
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700146 SERVICE_8880_CHECK_HTTP: "/health"
147 SERVICE_8880_CHECK_INTERVAL: "5s"
148 SERVICE_8880_CHECK_TIMEOUT: "1s"
Zsolt Haraszti45363352016-09-27 10:32:18 -0700149 SERVICE_50555_NAME: "voltha-grpc"
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800150 SERVICE_18880_NAME: "voltha-sim-rest"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700151 volumes:
152 - "/var/run/docker.sock:/tmp/docker.sock"
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800153 networks:
154 - default
155 - ponmgmt
alshabib7941d402016-11-08 00:11:20 +0100156
Sergio Slobodrianab11c642017-04-24 07:16:58 -0400157 #
158 # Voltha cli container
159 #
160 vcli:
161 image: cord/vcli
162 environment:
163 DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
164 ports:
165 - "5022:22"
166 depends_on:
167 - voltha
168
alshabib7941d402016-11-08 00:11:20 +0100169#############################################
170# Item below this line will soon be removed.#
171#############################################
172
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700173 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700174 # Chameleon server instance(s)
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700175 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700176 chameleon:
177 image: cord/chameleon
178 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800179 "/chameleon/chameleon/main.py",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700180 "-v",
Zsolt Haraszti15044082016-10-05 00:18:57 -0700181 "--consul=consul:8500",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700182 "--fluentd=fluentd:24224",
183 "--rest-port=8881",
Zsolt Haraszti15044082016-10-05 00:18:57 -0700184 "--grpc-endpoint=@voltha-grpc",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700185 "--instance-id-is-container-name",
186 "-v"
187 ]
188 ports:
189 - 8881
190 depends_on:
191 - consul
Zsolt Haraszti034db372016-10-03 22:26:41 -0700192 - voltha
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700193 links:
194 - consul
195 - fluentd
196 environment:
197 SERVICE_8881_NAME: "chameleon-rest"
198 volumes:
199 - "/var/run/docker.sock:/tmp/docker.sock"
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400200 #
201 # ofagent server instance
202 #
203 ofagent:
204 image: cord/ofagent
205 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800206 "/ofagent/ofagent/main.py",
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400207 "-v",
208 "--consul=${DOCKER_HOST_IP}:8500",
209 "--fluentd=fluentd:24224",
Zsolt Harasztiee5c4c82017-01-09 14:37:57 -0800210 "--controller=${DOCKER_HOST_IP}:6653",
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400211 "--grpc-endpoint=@voltha-grpc",
212 "--instance-id-is-container-name",
213 "-v"
214 ]
215 depends_on:
216 - consul
217 - voltha
218 links:
219 - consul
220 - fluentd
221 volumes:
222 - "/var/run/docker.sock:/tmp/docker.sock"
alshabib06b449c2017-01-15 17:33:16 -0600223 restart: unless-stopped
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500224
225 #
226 # Netconf server instance(s)
227 #
228 netconf:
229 image: cord/netconf
Khen Nursimulub4e71472017-01-06 18:05:47 -0500230 privileged: true
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500231 command: [
232 "/netconf/netconf/main.py",
233 "-v",
234 "--consul=${DOCKER_HOST_IP}:8500",
235 "--fluentd=fluentd:24224",
236 "--grpc-endpoint=@voltha-grpc",
237 "--instance-id-is-container-name",
238 "-v"
239 ]
240 ports:
Khen Nursimulub4e71472017-01-06 18:05:47 -0500241 - "830:1830"
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500242 depends_on:
243 - consul
244 - voltha
245 links:
246 - consul
247 - fluentd
248 environment:
249 SERVICE_1830_NAME: "netconf-server"
250 volumes:
251 - "/var/run/docker.sock:/tmp/docker.sock"
252
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400253 #
Sergio Slobodrianff52e1b2017-04-24 12:39:08 -0400254 # Dashboard daemon
255 #
256 dashd:
257 image: cord/dashd
258 command: [
259 "/dashd/dashd/main.py",
260 "--kafka=@kafka",
261 "--consul=${DOCKER_HOST_IP}:8500",
262 "--grafana_url=http://admin:admin@${DOCKER_HOST_IP}:8882/api",
263 "--topic=voltha.kpis",
264 "--docker_host=${DOCKER_HOST_IP}"
265 ]
266 depends_on:
267 - consul
268 - kafka
269 - grafana
270 restart: unless-stopped
271
272 #
273 # Nginx service consolidation
274 #
275 nginx:
276 image: voltha/nginx
277 ports:
278 - "80:80"
279 environment:
280 CONSUL_ADDR: "${DOCKER_HOST_IP}:8500"
281 command: [
282 "/nginx_config/start_service.sh"
283 ]
284 depends_on:
285 - consul
286 - grafana
Sergio Slobodriand9ec6002017-04-25 08:09:11 -0400287 - chameleon
288 - portainer
Sergio Slobodrianff52e1b2017-04-24 12:39:08 -0400289 restart: unless-stopped
290 volumes:
291 - "/cord/incubator/voltha/nginx_config:/nginx_config"
292
293 #
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400294 # Docker ui
295 #
296 portainer:
297 image: voltha/portainer
298 ports:
299 - "9000:9000"
300 environment:
301 CONSUL_ADDR: "${DOCKER_HOST_IP}:8500"
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400302 restart: unless-stopped
Sergio Slobodriand9ec6002017-04-25 08:09:11 -0400303 entrypoint: ["/portainer", "--logo", "/docker/images/logo_alt.png"]
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400304 volumes:
305 - "/var/run/docker.sock:/var/run/docker.sock"
306
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800307networks:
308 default:
309 driver: bridge
310 ponmgmt:
311 driver: bridge
312 driver_opts:
313 com.docker.network.bridge.name: "ponmgmt"