Adds log rotation for MON and POL in docker-compose.yaml
[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     env_file:
139       - ./mon.env
140     ports:
141       - "${OSM_MON_PORTS:-8662:8662}"
142     #depends_on:
143     #  - kafka
144     logging:
145         driver: "json-file"
146         options:
147             max-file: 5
148             max-size: 10m
149   pol:
150     image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-latest}
151     networks:
152       - netOSM
153     volumes:
154       - pol_db:/app/database
155     environment:
156       OSMPOL_MESSAGE_HOST: kafka
157       OSMPOL_MESSAGE_PORT: 9092
158     env_file:
159       - ./pol.env
160     #depends_on:
161     #  - kafka
162     #  - mon
163     logging:
164       driver: "json-file"
165       options:
166         max-file: 5
167         max-size: 10m
168   light-ui:
169     image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-latest}
170     networks:
171       - netOSM
172     environment:
173       OSM_SERVER: nbi
174     #depends_on:
175     #  - nbi
176     ports:
177       - "${OSM_UI_PORTS:-80:80}"