blob: 2e2185ca62fac285f4f2e0c7e73296ddb0e4baaa [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",
khenaidoo032d3302017-06-09 14:50:04 -040053 "-cleanup",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070054 # "-internal",
schowdhury9d027c02017-06-06 23:14:33 -070055 "consul://consul:8500"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070056 ]
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070057 links:
58 - consul
59 volumes:
60 - "/var/run/docker.sock:/tmp/docker.sock"
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080061
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070062 #
63 # Fluentd log server
64 #
65 fluentd:
66 image: fluent/fluentd
67 ports:
68 - "24224:24224"
69 volumes:
70 - "/tmp/fluentd:/fluentd/log"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -070071 environment:
72 SERVICE_24224_NAME: "fluentd-intake"
alshabib7941d402016-11-08 00:11:20 +010073
Zsolt Harasztif2da1d02016-09-13 23:21:35 -070074 #
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080075 # Graphite-Grafana-statsd service instance
76 # (demo place-holder for external KPI system)
77 #
78 grafana:
Sergio Slobodrianba491582017-04-24 15:49:00 -040079 image: voltha/grafana
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080080 ports:
81 - "8882: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"
Sergio Slobodrianba491582017-04-24 15:49:00 -040092 GR_SERVER_ROOT_URL: "http://localhost:80/grafana/"
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -080093
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",
Zsolt Haraszti1b7c0362016-12-12 09:45:47 -0800103 "--topic=voltha.kpis",
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -0800104 "--host=${DOCKER_HOST_IP}"
105 ]
106 depends_on:
107 - consul
108 - kafka
109 - grafana
alshabibb634d902017-01-16 13:10:17 -0600110 restart: unless-stopped
Zsolt Harasztiaa4626e2016-12-08 16:53:06 -0800111
112 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700113 # Voltha server instance(s)
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700114 #
115 voltha:
116 image: cord/voltha
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700117 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800118 "/voltha/voltha/main.py",
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700119 "-v",
khenb95fe9a2016-10-05 11:15:25 -0700120 "--consul=${DOCKER_HOST_IP}:8500",
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700121 "--fluentd=fluentd:24224",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700122 "--rest-port=8880",
Zsolt Haraszti45363352016-09-27 10:32:18 -0700123 "--grpc-port=50555",
khenb95fe9a2016-10-05 11:15:25 -0700124 "--kafka=@kafka",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700125 "--instance-id-is-container-name",
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800126 "--interface=eth1",
khenaidoo032d3302017-06-09 14:50:04 -0400127 "--backend=consul",
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700128 "-v"
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700129 ]
130 ports:
131 - 8880
Zsolt Haraszti45363352016-09-27 10:32:18 -0700132 - 50555
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800133 - 18880
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700134 depends_on:
135 - consul
136 links:
137 - consul
138 - fluentd
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700139 environment:
Zsolt Haraszti45363352016-09-27 10:32:18 -0700140 SERVICE_8880_NAME: "voltha-health"
Zsolt Haraszti3d552922016-09-14 22:26:34 -0700141 SERVICE_8880_CHECK_HTTP: "/health"
142 SERVICE_8880_CHECK_INTERVAL: "5s"
143 SERVICE_8880_CHECK_TIMEOUT: "1s"
Zsolt Haraszti45363352016-09-27 10:32:18 -0700144 SERVICE_50555_NAME: "voltha-grpc"
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800145 SERVICE_18880_NAME: "voltha-sim-rest"
Zsolt Harasztie060a7d2016-09-16 11:08:24 -0700146 volumes:
147 - "/var/run/docker.sock:/tmp/docker.sock"
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800148 networks:
149 - default
150 - ponmgmt
alshabib7941d402016-11-08 00:11:20 +0100151
Sergio Slobodrianab11c642017-04-24 07:16:58 -0400152 #
153 # Voltha cli container
154 #
155 vcli:
156 image: cord/vcli
Richard Jankowski29dd1982017-06-28 13:30:18 -0400157 command: [
158 "/cli/cli/setup.sh",
159 "-L"
160 ]
Sergio Slobodrianab11c642017-04-24 07:16:58 -0400161 environment:
162 DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
163 ports:
164 - "5022:22"
165 depends_on:
166 - voltha
167
alshabib7941d402016-11-08 00:11:20 +0100168#############################################
169# Item below this line will soon be removed.#
170#############################################
171
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700172 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700173 # Chameleon server instance(s)
Zsolt Harasztif2da1d02016-09-13 23:21:35 -0700174 #
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700175 chameleon:
176 image: cord/chameleon
177 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800178 "/chameleon/chameleon/main.py",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700179 "-v",
Zsolt Haraszti15044082016-10-05 00:18:57 -0700180 "--consul=consul:8500",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700181 "--fluentd=fluentd:24224",
182 "--rest-port=8881",
Zsolt Haraszti15044082016-10-05 00:18:57 -0700183 "--grpc-endpoint=@voltha-grpc",
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700184 "--instance-id-is-container-name",
185 "-v"
186 ]
187 ports:
188 - 8881
189 depends_on:
190 - consul
Zsolt Haraszti034db372016-10-03 22:26:41 -0700191 - voltha
Zsolt Haraszti86be6f12016-09-27 09:56:49 -0700192 links:
193 - consul
194 - fluentd
195 environment:
196 SERVICE_8881_NAME: "chameleon-rest"
197 volumes:
198 - "/var/run/docker.sock:/tmp/docker.sock"
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400199 #
200 # ofagent server instance
201 #
202 ofagent:
203 image: cord/ofagent
204 command: [
Zsolt Haraszti1edb8282016-11-08 10:57:19 -0800205 "/ofagent/ofagent/main.py",
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400206 "-v",
207 "--consul=${DOCKER_HOST_IP}:8500",
208 "--fluentd=fluentd:24224",
Zsolt Harasztiee5c4c82017-01-09 14:37:57 -0800209 "--controller=${DOCKER_HOST_IP}:6653",
Khen Nursimulu68b9be32016-10-25 11:57:04 -0400210 "--grpc-endpoint=@voltha-grpc",
211 "--instance-id-is-container-name",
212 "-v"
213 ]
214 depends_on:
215 - consul
216 - voltha
217 links:
218 - consul
219 - fluentd
220 volumes:
221 - "/var/run/docker.sock:/tmp/docker.sock"
alshabib06b449c2017-01-15 17:33:16 -0600222 restart: unless-stopped
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500223
224 #
225 # Netconf server instance(s)
226 #
227 netconf:
228 image: cord/netconf
Khen Nursimulub4e71472017-01-06 18:05:47 -0500229 privileged: true
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500230 command: [
231 "/netconf/netconf/main.py",
232 "-v",
233 "--consul=${DOCKER_HOST_IP}:8500",
234 "--fluentd=fluentd:24224",
235 "--grpc-endpoint=@voltha-grpc",
236 "--instance-id-is-container-name",
237 "-v"
238 ]
239 ports:
Khen Nursimulub4e71472017-01-06 18:05:47 -0500240 - "830:1830"
Khen Nursimuluaaac7ee2016-12-11 22:03:52 -0500241 depends_on:
242 - consul
243 - voltha
244 links:
245 - consul
246 - fluentd
247 environment:
248 SERVICE_1830_NAME: "netconf-server"
249 volumes:
250 - "/var/run/docker.sock:/tmp/docker.sock"
251
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400252 #
Sergio Slobodrianff52e1b2017-04-24 12:39:08 -0400253 # Dashboard daemon
254 #
255 dashd:
256 image: cord/dashd
257 command: [
258 "/dashd/dashd/main.py",
259 "--kafka=@kafka",
260 "--consul=${DOCKER_HOST_IP}:8500",
261 "--grafana_url=http://admin:admin@${DOCKER_HOST_IP}:8882/api",
262 "--topic=voltha.kpis",
263 "--docker_host=${DOCKER_HOST_IP}"
264 ]
265 depends_on:
266 - consul
267 - kafka
268 - grafana
269 restart: unless-stopped
270
271 #
272 # Nginx service consolidation
273 #
274 nginx:
275 image: voltha/nginx
276 ports:
277 - "80:80"
278 environment:
279 CONSUL_ADDR: "${DOCKER_HOST_IP}:8500"
280 command: [
281 "/nginx_config/start_service.sh"
282 ]
283 depends_on:
284 - consul
285 - grafana
Sergio Slobodriand9ec6002017-04-25 08:09:11 -0400286 - chameleon
287 - portainer
Sergio Slobodrianff52e1b2017-04-24 12:39:08 -0400288 restart: unless-stopped
289 volumes:
290 - "/cord/incubator/voltha/nginx_config:/nginx_config"
291
292 #
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400293 # Docker ui
294 #
295 portainer:
296 image: voltha/portainer
297 ports:
298 - "9000:9000"
299 environment:
300 CONSUL_ADDR: "${DOCKER_HOST_IP}:8500"
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400301 restart: unless-stopped
Sergio Slobodriand9ec6002017-04-25 08:09:11 -0400302 entrypoint: ["/portainer", "--logo", "/docker/images/logo_alt.png"]
Sergio Slobodrian4d307102017-04-24 10:19:00 -0400303 volumes:
304 - "/var/run/docker.sock:/var/run/docker.sock"
305
Zsolt Haraszti9b485fb2016-12-26 23:11:15 -0800306networks:
307 default:
308 driver: bridge
309 ponmgmt:
310 driver: bridge
311 driver_opts:
312 com.docker.network.bridge.name: "ponmgmt"