Merge changes I1d0ee897,Iee1ed292
[osm/devops.git] / installers / docker / docker-compose.yaml
1 version: '3'
2 volumes:
3   ro:
4   ro_db:
5   mongo_db:
6   mon_db:
7   pol_db:
8   osm_packages:
9   prom_db:
10 networks:
11   netOSM:
12     external:
13       name: ${OSM_NETWORK:-netosm}
14     #driver: overlay
15     #driver_opts:
16     #  com.docker.network.driver.mtu: "1446"
17 services:
18   zookeeper:
19     image: wurstmeister/zookeeper:${ZOOKEEPER_TAG:-latest}
20 #    ports:
21 #      - "2181:2181"
22     networks:
23       - netOSM
24     healthcheck:
25       test: echo stat | nc localhost 2181
26       interval: 10s
27       timeout: 10s
28       retries: 3
29   kafka:
30     image: wurstmeister/kafka:${KAFKA_TAG:-latest}
31     ports:
32       - "9092"
33     networks:
34       - netOSM
35     environment:
36       KAFKA_ADVERTISED_HOST_NAME: kafka
37       KAFKA_ADVERTISED_PORT: 9092
38       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
39       KAFKA_LOG_RETENTION_HOURS: 24
40     volumes:
41       - /var/run/docker.sock:/var/run/docker.sock
42     #depends_on:
43     #  - zookeeper
44   mongo:
45     image: mongo
46 #    ports:
47 #      - "27017:27017"
48     networks:
49       - netOSM
50     volumes:
51       - mongo_db:/data/db
52   prometheus:
53     image: prom/prometheus:${PROMETHEUS_TAG:-latest}
54     hostname: prometheus
55     ports:
56       - "${OSM_PROM_PORTS:-9091:9090}"
57     volumes:
58       - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
59       - prom_db:/prometheus
60     networks:
61       - netOSM
62   keystone:
63     image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-6}
64     networks:
65       - netOSM
66     environment:
67       DB_HOST: mysql
68     env_file:
69       - ./keystone.env
70     ports:
71       - "${OSM_KEYSTONE_PORTS:-5000:5000}"
72   nbi:
73     image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-6}
74     networks:
75       - netOSM
76     volumes:
77       - osm_packages:/app/storage
78     environment:
79       OSMNBI_DATABASE_HOST: mongo
80       OSMNBI_MESSAGE_HOST: kafka
81     env_file:
82       - ./nbi.env
83     ports:
84       - "${OSM_NBI_PORTS:-9999:9999}"
85     #depends_on:
86     #  - kafka
87     #  - mongo
88   lcm:
89     image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-6}
90     networks:
91       - netOSM
92     volumes:
93       - osm_packages:/app/storage
94     environment:
95       OSMLCM_RO_HOST: ro
96       OSMLCM_DATABASE_HOST: mongo
97       OSMLCM_MESSAGE_HOST: kafka
98     env_file:
99       - ./lcm.env
100     #depends_on:
101     #  - kafka
102     #  - mongo
103     #  - ro
104   mysql:
105     image: mysql:5
106     networks:
107       netOSM:
108         aliases:
109           - ro-db
110     volumes:
111       - ro_db:/var/lib/mysql
112     env_file:
113       - ./ro-db.env
114 #    ports:
115 #      - "3306:3306"
116   ro:
117     image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-6}
118     networks:
119       - netOSM
120     environment:
121       RO_DB_HOST: mysql
122     env_file:
123       - ./ro.env
124     #depends_on:
125     #  - mysql
126     volumes:
127       - ro:/var/log/osm
128     ports:
129       - "${OSM_RO_PORTS:-9090:9090}"
130   mon:
131     image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-6}
132     networks:
133       - netOSM
134     volumes:
135       - mon_db:/app/database
136     environment:
137       OSMMON_MESSAGE_HOST: kafka
138       OSMMON_MESSAGE_PORT: 9092
139     env_file:
140       - ./mon.env
141     ports:
142       - "${OSM_MON_PORTS:-8662:8662}"
143     #depends_on:
144     #  - kafka
145     logging:
146         driver: "json-file"
147         options:
148             max-file: 5
149             max-size: 10m
150   pol:
151     image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-6}
152     networks:
153       - netOSM
154     volumes:
155       - pol_db:/app/database
156     environment:
157       OSMPOL_MESSAGE_HOST: kafka
158       OSMPOL_MESSAGE_PORT: 9092
159     env_file:
160       - ./pol.env
161     #depends_on:
162     #  - kafka
163     #  - mon
164     logging:
165       driver: "json-file"
166       options:
167         max-file: 5
168         max-size: 10m
169   light-ui:
170     image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-6}
171     networks:
172       - netOSM
173     environment:
174       OSM_SERVER: nbi
175     #depends_on:
176     #  - nbi
177     env_file:
178       - ./lwui.env
179     ports:
180       - "${OSM_UI_PORTS:-80:80}"