Modifies Keystone to use same MySQL DB as RO
[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     volumes:
40       - /var/run/docker.sock:/var/run/docker.sock
41     #depends_on:
42     #  - zookeeper
43   mongo:
44     image: mongo
45 #    ports:
46 #      - "27017:27017"
47     networks:
48       - netOSM
49     volumes:
50       - mongo_db:/data/db
51   prometheus:
52     image: prom/prometheus:${PROMETHEUS_TAG:-latest}
53     hostname: prometheus
54     ports:
55       - "${OSM_PROM_PORTS:-9091:9090}"
56     volumes:
57       - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
58       - prom_db:/prometheus
59     networks:
60       - netOSM
61   keystone:
62     image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-latest}
63     networks:
64       - netOSM
65     environment:
66       DB_HOST: mysql
67     env_file:
68       - ./keystone.env
69     ports:
70       - "${OSM_KEYSTONE_PORTS:-5000:5000}"
71   nbi:
72     image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-latest}
73     networks:
74       - netOSM
75     volumes:
76       - osm_packages:/app/storage
77     environment:
78       OSMNBI_DATABASE_HOST: mongo
79       OSMNBI_MESSAGE_HOST: kafka
80     env_file:
81       - ./nbi.env
82     ports:
83       - "${OSM_NBI_PORTS:-9999:9999}"
84     #depends_on:
85     #  - kafka
86     #  - mongo
87   lcm:
88     image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-latest}
89     networks:
90       - netOSM
91     volumes:
92       - osm_packages:/app/storage
93     environment:
94       OSMLCM_RO_HOST: ro
95       OSMLCM_DATABASE_HOST: mongo
96       OSMLCM_MESSAGE_HOST: kafka
97     env_file:
98       - ./lcm.env
99     #depends_on:
100     #  - kafka
101     #  - mongo
102     #  - ro
103   mysql:
104     image: mysql:5
105     networks:
106       netOSM:
107         aliases:
108           - ro-db
109     volumes:
110       - ro_db:/var/lib/mysql
111     env_file:
112       - ./ro-db.env
113 #    ports:
114 #      - "3306:3306"
115   ro:
116     image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-latest}
117     networks:
118       - netOSM
119     environment:
120       RO_DB_HOST: mysql
121     env_file:
122       - ./ro.env
123     #depends_on:
124     #  - mysql
125     volumes:
126       - ro:/var/log/osm
127     ports:
128       - "${OSM_RO_PORTS:-9090:9090}"
129   mon:
130     image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-latest}
131     networks:
132       - netOSM
133     volumes:
134       - mon_db:/app/database
135     environment:
136       OSMMON_MESSAGE_HOST: kafka
137       OSMMON_MESSAGE_PORT: 9092
138       OSMMON_SQL_DATABASE_URI: sqlite:///app/database/mon_sqlite.db
139     env_file:
140       - ./mon.env
141     ports:
142       - "${OSM_MON_PORTS:-8662:8662}"
143     #depends_on:
144     #  - kafka
145   pol:
146     image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-latest}
147     networks:
148       - netOSM
149     volumes:
150       - pol_db:/app/database
151     environment:
152       OSMPOL_SQL_DATABASE_URI: sqlite:///app/database/policy_module.db
153       OSMPOL_MESSAGE_HOST: kafka
154       OSMPOL_MESSAGE_PORT: 9092
155     #depends_on:
156     #  - kafka
157     #  - mon
158   light-ui:
159     image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-latest}
160     networks:
161       - netOSM
162     environment:
163       OSM_SERVER: nbi
164     #depends_on:
165     #  - nbi
166     ports:
167       - "${OSM_UI_PORTS:-80:80}"