Modifies MON and POL env vars names
[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   keystone_db:
10   prom_db:
11 networks:
12   netOSM:
13     external:
14       name: ${OSM_NETWORK:-netosm}
15     #driver: overlay
16     #driver_opts:
17     #  com.docker.network.driver.mtu: "1446"
18 services:
19   zookeeper:
20     image: wurstmeister/zookeeper:${ZOOKEEPER_TAG:-latest}
21 #    ports:
22 #      - "2181:2181"
23     networks:
24       - netOSM
25     healthcheck:
26       test: echo stat | nc localhost 2181
27       interval: 10s
28       timeout: 10s
29       retries: 3
30   kafka:
31     image: wurstmeister/kafka:${KAFKA_TAG:-latest}
32     ports:
33       - "9092"
34     networks:
35       - netOSM
36     environment:
37       KAFKA_ADVERTISED_HOST_NAME: kafka
38       KAFKA_ADVERTISED_PORT: 9092
39       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
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-db:
63     image: mariadb:10
64     networks:
65       - netOSM
66     volumes:
67       - keystone_db:/var/lib/mysql
68     env_file:
69       - ./keystone-db.env
70 #    ports:
71 #      - "3306:3306"
72   keystone:
73     image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-latest}
74     networks:
75       - netOSM
76     environment:
77       DB_HOST: keystone-db
78     env_file:
79       - ./keystone.env
80     ports:
81       - "${OSM_KEYSTONE_PORTS:-5000:5000}"
82   nbi:
83     image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-latest}
84     networks:
85       - netOSM
86     volumes:
87       - osm_packages:/app/storage
88     environment:
89       OSMNBI_DATABASE_HOST: mongo
90       OSMNBI_MESSAGE_HOST: kafka
91     env_file:
92       - ./nbi.env
93     ports:
94       - "${OSM_NBI_PORTS:-9999:9999}"
95     #depends_on:
96     #  - kafka
97     #  - mongo
98   lcm:
99     image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-latest}
100     networks:
101       - netOSM
102     volumes:
103       - osm_packages:/app/storage
104     environment:
105       OSMLCM_RO_HOST: ro
106       OSMLCM_DATABASE_HOST: mongo
107       OSMLCM_MESSAGE_HOST: kafka
108     env_file:
109       - ./lcm.env
110     #depends_on:
111     #  - kafka
112     #  - mongo
113     #  - ro
114   ro-db:
115     image: mysql:5
116     networks:
117       - netOSM
118     volumes:
119       - ro_db:/var/lib/mysql
120     env_file:
121       - ./ro-db.env
122 #    ports:
123 #      - "3306:3306"
124   ro:
125     image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-latest}
126     networks:
127       - netOSM
128     environment:
129       RO_DB_HOST: ro-db
130     env_file:
131       - ./ro.env
132     #depends_on:
133     #  - ro-db
134     volumes:
135       - ro:/var/log/osm
136     ports:
137       - "${OSM_RO_PORTS:-9090:9090}"
138   mon:
139     image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-latest}
140     networks:
141       - netOSM
142     volumes:
143       - mon_db:/app/database
144     environment:
145       OSMMON_MESSAGE_HOST: kafka
146       OSMMON_MESSAGE_PORT: 9092
147       OSMMON_SQL_DATABASE_URI: sqlite:///app/database/mon_sqlite.db
148     env_file:
149       - ./mon.env
150     ports:
151       - "${OSM_MON_PORTS:-8662:8662}"
152     #depends_on:
153     #  - kafka
154   pol:
155     image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-latest}
156     networks:
157       - netOSM
158     volumes:
159       - pol_db:/app/database
160     environment:
161       OSMPOL_SQL_DATABASE_URI: sqlite:///app/database/policy_module.db
162       OSMPOL_MESSAGE_HOST: kafka
163       OSMPOL_MESSAGE_PORT: 9092
164     #depends_on:
165     #  - kafka
166     #  - mon
167   light-ui:
168     image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-latest}
169     networks:
170       - netOSM
171     environment:
172       OSM_SERVER: nbi
173     #depends_on:
174     #  - nbi
175     ports:
176       - "${OSM_UI_PORTS:-80:80}"