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