blob: 7f12258537d95876c1315c4755008355177cc11a [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"
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070045 #
46 # Registrator
47 #
48 registrator:
49 image: gliderlabs/registrator:latest
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070050 command: [
51 "-ip=${DOCKER_HOST_IP}",
52 "-retry-attempts", "100",
53 # "-internal",
54 "consul://consul:8500"
55 ]
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070056 links:
57 - consul
58 volumes:
59 - "/var/run/docker.sock:/tmp/docker.sock"
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080060
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070061 #
62 # Fluentd log server
63 #
64 fluentd:
65 image: fluent/fluentd
66 ports:
67 - "24224:24224"
68 volumes:
69 - "/tmp/fluentd:/fluentd/log"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070070 environment:
71 SERVICE_24224_NAME: "fluentd-intake"
alshabib7941d402016-11-08 00:11:20 +010072
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070073 #
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080074 # Graphite-Grafana-statsd service instance
75 # (demo place-holder for external KPI system)
76 #
77 grafana:
Sergio Slobodrian8e5a81f2017-04-24 15:49:00 -040078 image: voltha/grafana
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080079 ports:
80 - "8882:80"
81 - "2003:2003"
82 - "2004:2004"
83 - "8126:8126"
84 - "8125:8125/udp"
85 environment:
86 SERVICE_80_NAME: "grafana-web-ui"
87 SERVICE_2003_NAME: "carbon-plain-text-intake"
88 SERVICE_2004_NAME: "carbon-pickle-intake"
89 SERVICE_8126_NAME: "statsd-tcp-intake"
90 SERVICE_8125_NAME: "statsd-udp-intake"
Sergio Slobodrian8e5a81f2017-04-24 15:49:00 -040091 GR_SERVER_ROOT_URL: "http://localhost:80/grafana/"
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080092
93 #
94 # Shovel (Kafka-graphite-gateway)
95 #
96 shovel:
97 image: cord/shovel
98 command: [
99 "/shovel/shovel/main.py",
100 "--kafka=@kafka",
101 "--consul=${DOCKER_HOST_IP}:8500",
Zsolt Haraszti1b7c0362016-12-12 09:45:47 -0800102 "--topic=voltha.kpis",
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -0800103 "--host=${DOCKER_HOST_IP}"
104 ]
105 depends_on:
106 - consul
107 - kafka
108 - grafana
alshabibb634d902017-01-16 13:10:17 -0600109 restart: unless-stopped
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -0800110
111 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700112 # Voltha server instance(s)
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700113 #
114 voltha:
115 image: cord/voltha
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700116 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800117 "/voltha/voltha/main.py",
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700118 "-v",
khenb95fe9a2016-10-05 11:15:25 -0700119 "--consul=${DOCKER_HOST_IP}:8500",
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700120 "--fluentd=fluentd:24224",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700121 "--rest-port=8880",
Zsolt Haraszti45363352016-09-27 10:32:18 -0700122 "--grpc-port=50555",
khenb95fe9a2016-10-05 11:15:25 -0700123 "--kafka=@kafka",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700124 "--instance-id-is-container-name",
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800125 "--interface=eth1",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700126 "-v"
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700127 ]
128 ports:
129 - 8880
Zsolt Haraszti45363352016-09-27 10:32:18 -0700130 - 50555
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800131 - 18880
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700132 depends_on:
133 - consul
134 links:
135 - consul
136 - fluentd
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700137 environment:
Zsolt Haraszti45363352016-09-27 10:32:18 -0700138 SERVICE_8880_NAME: "voltha-health"
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700139 SERVICE_8880_CHECK_HTTP: "/health"
140 SERVICE_8880_CHECK_INTERVAL: "5s"
141 SERVICE_8880_CHECK_TIMEOUT: "1s"
Zsolt Haraszti45363352016-09-27 10:32:18 -0700142 SERVICE_50555_NAME: "voltha-grpc"
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800143 SERVICE_18880_NAME: "voltha-sim-rest"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700144 volumes:
145 - "/var/run/docker.sock:/tmp/docker.sock"
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800146 networks:
147 - default
148 - ponmgmt
alshabib7941d402016-11-08 00:11:20 +0100149
Sergio Slobodrian00e06ef2017-04-24 07:16:58 -0400150 #
151 # Voltha cli container
152 #
153 vcli:
154 image: cord/vcli
155 environment:
156 DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
157 ports:
158 - "5022:22"
159 depends_on:
160 - voltha
161
alshabib7941d402016-11-08 00:11:20 +0100162#############################################
163# Item below this line will soon be removed.#
164#############################################
165
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700166 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700167 # Chameleon server instance(s)
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700168 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700169 chameleon:
170 image: cord/chameleon
171 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800172 "/chameleon/chameleon/main.py",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700173 "-v",
Zsolt Haraszti15044082016-10-05 00:18:57 -0700174 "--consul=consul:8500",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700175 "--fluentd=fluentd:24224",
176 "--rest-port=8881",
Zsolt Haraszti15044082016-10-05 00:18:57 -0700177 "--grpc-endpoint=@voltha-grpc",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700178 "--instance-id-is-container-name",
179 "-v"
180 ]
181 ports:
182 - 8881
183 depends_on:
184 - consul
Zsolt Haraszti034db372016-10-03 22:26:41 -0700185 - voltha
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700186 links:
187 - consul
188 - fluentd
189 environment:
190 SERVICE_8881_NAME: "chameleon-rest"
191 volumes:
192 - "/var/run/docker.sock:/tmp/docker.sock"
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400193 #
194 # ofagent server instance
195 #
196 ofagent:
197 image: cord/ofagent
198 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800199 "/ofagent/ofagent/main.py",
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400200 "-v",
201 "--consul=${DOCKER_HOST_IP}:8500",
202 "--fluentd=fluentd:24224",
Zsolt Harasztiee5c4c82017-01-09 14:37:57 -0800203 "--controller=${DOCKER_HOST_IP}:6653",
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400204 "--grpc-endpoint=@voltha-grpc",
205 "--instance-id-is-container-name",
206 "-v"
207 ]
208 depends_on:
209 - consul
210 - voltha
211 links:
212 - consul
213 - fluentd
214 volumes:
215 - "/var/run/docker.sock:/tmp/docker.sock"
alshabib06b449c2017-01-15 17:33:16 -0600216 restart: unless-stopped
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500217
218 #
219 # Netconf server instance(s)
220 #
221 netconf:
222 image: cord/netconf
Khen Nursimulub4e71472017-01-06 18:05:47 -0500223 privileged: true
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500224 command: [
225 "/netconf/netconf/main.py",
226 "-v",
227 "--consul=${DOCKER_HOST_IP}:8500",
228 "--fluentd=fluentd:24224",
229 "--grpc-endpoint=@voltha-grpc",
230 "--instance-id-is-container-name",
231 "-v"
232 ]
233 ports:
Khen Nursimulub4e71472017-01-06 18:05:47 -0500234 - "830:1830"
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500235 depends_on:
236 - consul
237 - voltha
238 links:
239 - consul
240 - fluentd
241 environment:
242 SERVICE_1830_NAME: "netconf-server"
243 volumes:
244 - "/var/run/docker.sock:/tmp/docker.sock"
245
Sergio Slobodrian2443cd62017-04-24 10:19:00 -0400246 #
Sergio Slobodrian84d4ae22017-04-24 12:39:08 -0400247 # Dashboard daemon
248 #
249 dashd:
250 image: cord/dashd
251 command: [
252 "/dashd/dashd/main.py",
253 "--kafka=@kafka",
254 "--consul=${DOCKER_HOST_IP}:8500",
255 "--grafana_url=http://admin:admin@${DOCKER_HOST_IP}:8882/api",
256 "--topic=voltha.kpis",
257 "--docker_host=${DOCKER_HOST_IP}"
258 ]
259 depends_on:
260 - consul
261 - kafka
262 - grafana
263 restart: unless-stopped
264
265 #
266 # Nginx service consolidation
267 #
268 nginx:
269 image: voltha/nginx
270 ports:
271 - "80:80"
272 environment:
273 CONSUL_ADDR: "${DOCKER_HOST_IP}:8500"
274 command: [
275 "/nginx_config/start_service.sh"
276 ]
277 depends_on:
278 - consul
279 - grafana
280 restart: unless-stopped
281 volumes:
282 - "/cord/incubator/voltha/nginx_config:/nginx_config"
283
284 #
Sergio Slobodrian2443cd62017-04-24 10:19:00 -0400285 # Docker ui
286 #
287 portainer:
288 image: voltha/portainer
289 ports:
290 - "9000:9000"
291 environment:
292 CONSUL_ADDR: "${DOCKER_HOST_IP}:8500"
293 depends_on:
294 - nginx
295 restart: unless-stopped
296 volumes:
297 - "/var/run/docker.sock:/var/run/docker.sock"
298
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800299networks:
300 default:
301 driver: bridge
302 ponmgmt:
303 driver: bridge
304 driver_opts:
305 com.docker.network.bridge.name: "ponmgmt"