| calvinosanch | fc94811 | 2019-07-26 10:46:00 +0000 | [diff] [blame] | 1 | ## |
| 2 | # Copyright 2019 ETSI | ||||
| 3 | # | ||||
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||
| 5 | # not use this file except in compliance with the License. You may obtain | ||||
| 6 | # a copy of the License at | ||||
| 7 | # | ||||
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 9 | # | ||||
| 10 | # Unless required by applicable law or agreed to in writing, software | ||||
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||
| 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||
| 13 | # License for the specific language governing permissions and limitations | ||||
| 14 | # under the License. | ||||
| 15 | ## | ||||
| 16 | |||||
| 17 | ######################################################################## | ||||
| 18 | |||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 19 | version: '3' |
| 20 | volumes: | ||||
| garciadeblas | e3697a1 | 2018-12-10 15:49:27 +0100 | [diff] [blame] | 21 | ro: |
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 22 | ro_db: |
| 23 | mongo_db: | ||||
| 24 | mon_db: | ||||
| lavado | 0ef7a6d | 2018-10-19 16:59:12 -0500 | [diff] [blame] | 25 | pol_db: |
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 26 | osm_packages: |
| lavado | 353c8dd | 2018-11-08 08:22:07 -0500 | [diff] [blame] | 27 | prom_db: |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 28 | networks: |
| 29 | netOSM: | ||||
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 30 | external: |
| Mike Marchetti | 6e96263 | 2018-09-26 16:26:14 -0400 | [diff] [blame] | 31 | name: ${OSM_NETWORK:-netosm} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 32 | #driver: overlay |
| 33 | #driver_opts: | ||||
| 34 | # com.docker.network.driver.mtu: "1446" | ||||
| 35 | services: | ||||
| 36 | zookeeper: | ||||
| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 37 | image: wurstmeister/zookeeper:${ZOOKEEPER_TAG:-latest} |
| garciadeblas | 46e9959 | 2018-04-16 13:32:02 +0200 | [diff] [blame] | 38 | # ports: |
| 39 | # - "2181:2181" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 40 | networks: |
| 41 | - netOSM | ||||
| Mike Marchetti | 851aac2 | 2018-09-20 10:18:01 -0400 | [diff] [blame] | 42 | healthcheck: |
| 43 | test: echo stat | nc localhost 2181 | ||||
| 44 | interval: 10s | ||||
| 45 | timeout: 10s | ||||
| 46 | retries: 3 | ||||
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 47 | logging: |
| 48 | driver: "json-file" | ||||
| 49 | options: | ||||
| 50 | max-size: "100m" | ||||
| 51 | max-file: "2" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 52 | kafka: |
| Mike Marchetti | 13d76c8 | 2018-09-19 15:00:36 -0400 | [diff] [blame] | 53 | image: wurstmeister/kafka:${KAFKA_TAG:-latest} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 54 | ports: |
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 55 | - "9092" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 56 | networks: |
| 57 | - netOSM | ||||
| 58 | environment: | ||||
| 59 | KAFKA_ADVERTISED_HOST_NAME: kafka | ||||
| 60 | KAFKA_ADVERTISED_PORT: 9092 | ||||
| 61 | KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 | ||||
| Benjamin Diaz | c577862 | 2019-02-27 16:42:34 -0300 | [diff] [blame] | 62 | KAFKA_LOG_RETENTION_HOURS: 24 |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 63 | volumes: |
| 64 | - /var/run/docker.sock:/var/run/docker.sock | ||||
| calvinosanch | fc94811 | 2019-07-26 10:46:00 +0000 | [diff] [blame] | 65 | healthcheck: |
| 66 | test: zookeeper-shell.sh zookeeper:2181 ls /brokers/ids 2>&1 | grep "Node does not exist" && exit 1 || exit 0 | ||||
| 67 | interval: 20s | ||||
| 68 | timeout: 10s | ||||
| 69 | retries: 5 | ||||
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 70 | logging: |
| 71 | driver: "json-file" | ||||
| 72 | options: | ||||
| 73 | max-size: "100m" | ||||
| 74 | max-file: "2" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 75 | #depends_on: |
| 76 | # - zookeeper | ||||
| 77 | mongo: | ||||
| 78 | image: mongo | ||||
| garciadeblas | 46e9959 | 2018-04-16 13:32:02 +0200 | [diff] [blame] | 79 | # ports: |
| 80 | # - "27017:27017" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 81 | networks: |
| 82 | - netOSM | ||||
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 83 | volumes: |
| 84 | - mongo_db:/data/db | ||||
| lavado | 6021624 | 2018-10-10 23:44:28 +0200 | [diff] [blame] | 85 | prometheus: |
| 86 | image: prom/prometheus:${PROMETHEUS_TAG:-latest} | ||||
| 87 | hostname: prometheus | ||||
| 88 | ports: | ||||
| 89 | - "${OSM_PROM_PORTS:-9091:9090}" | ||||
| 90 | volumes: | ||||
| lavado | 7190648 | 2020-04-13 17:02:00 -0500 | [diff] [blame] | 91 | - ./prometheus/:/etc/prometheus/ |
| lavado | 353c8dd | 2018-11-08 08:22:07 -0500 | [diff] [blame] | 92 | - prom_db:/prometheus |
| lavado | 7190648 | 2020-04-13 17:02:00 -0500 | [diff] [blame] | 93 | command: |
| 94 | - '--config.file=/etc/prometheus/prometheus.yml' | ||||
| 95 | - '--web.enable-lifecycle' | ||||
| lavado | 6021624 | 2018-10-10 23:44:28 +0200 | [diff] [blame] | 96 | networks: |
| 97 | - netOSM | ||||
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 98 | logging: |
| 99 | driver: "json-file" | ||||
| 100 | options: | ||||
| 101 | max-size: "100m" | ||||
| 102 | max-file: "2" | ||||
| lavado | 6ad812e | 2019-11-29 10:58:58 -0500 | [diff] [blame] | 103 | prometheus-cadvisor: |
| 104 | image: google/cadvisor:${PROMETHEUS_CADVISOR_TAG:-latest} | ||||
| 105 | ports: | ||||
| 106 | - "${OSM_PROM_CADVISOR_PORTS:-8080:8080}" | ||||
| 107 | volumes: | ||||
| 108 | - /:/rootfs:ro | ||||
| 109 | - /var/run:/var/run:ro | ||||
| 110 | - /sys:/sys:ro | ||||
| 111 | - /var/lib/docker/:/var/lib/docker:ro | ||||
| 112 | - /dev/disk/:/dev/disk:ro | ||||
| 113 | networks: | ||||
| lavado | 1e4a88c | 2019-12-03 16:19:59 -0500 | [diff] [blame] | 114 | - netOSM |
| Eduardo Sousa | 09a1e97 | 2018-09-21 11:06:32 +0100 | [diff] [blame] | 115 | keystone: |
| garciadeblas | 44c0219 | 2019-12-09 01:36:57 +0100 | [diff] [blame] | 116 | image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-7} |
| Eduardo Sousa | 09a1e97 | 2018-09-21 11:06:32 +0100 | [diff] [blame] | 117 | networks: |
| 118 | - netOSM | ||||
| 119 | environment: | ||||
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 120 | DB_HOST: mysql |
| Eduardo Sousa | 09a1e97 | 2018-09-21 11:06:32 +0100 | [diff] [blame] | 121 | env_file: |
| 122 | - ./keystone.env | ||||
| 123 | ports: | ||||
| 124 | - "${OSM_KEYSTONE_PORTS:-5000:5000}" | ||||
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 125 | logging: |
| 126 | driver: "json-file" | ||||
| 127 | options: | ||||
| 128 | max-size: "100m" | ||||
| 129 | max-file: "2" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 130 | nbi: |
| garciadeblas | 44c0219 | 2019-12-09 01:36:57 +0100 | [diff] [blame] | 131 | image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-7} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 132 | networks: |
| 133 | - netOSM | ||||
| 134 | volumes: | ||||
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 135 | - osm_packages:/app/storage |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 136 | environment: |
| 137 | OSMNBI_DATABASE_HOST: mongo | ||||
| 138 | OSMNBI_MESSAGE_HOST: kafka | ||||
| Eduardo Sousa | e193dfd | 2018-09-21 11:37:49 +0100 | [diff] [blame] | 139 | env_file: |
| 140 | - ./nbi.env | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 141 | ports: |
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 142 | - "${OSM_NBI_PORTS:-9999:9999}" |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 143 | logging: |
| 144 | driver: "json-file" | ||||
| 145 | options: | ||||
| 146 | max-size: "100m" | ||||
| 147 | max-file: "2" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 148 | #depends_on: |
| 149 | # - kafka | ||||
| 150 | # - mongo | ||||
| 151 | lcm: | ||||
| garciadeblas | 44c0219 | 2019-12-09 01:36:57 +0100 | [diff] [blame] | 152 | image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-7} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 153 | networks: |
| 154 | - netOSM | ||||
| garciadeblas | e1b66ed | 2018-05-14 11:34:26 +0200 | [diff] [blame] | 155 | volumes: |
| 156 | - osm_packages:/app/storage | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 157 | environment: |
| 158 | OSMLCM_RO_HOST: ro | ||||
| 159 | OSMLCM_DATABASE_HOST: mongo | ||||
| 160 | OSMLCM_MESSAGE_HOST: kafka | ||||
| 161 | env_file: | ||||
| 162 | - ./lcm.env | ||||
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 163 | logging: |
| 164 | driver: "json-file" | ||||
| 165 | options: | ||||
| 166 | max-size: "100m" | ||||
| 167 | max-file: "2" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 168 | #depends_on: |
| 169 | # - kafka | ||||
| 170 | # - mongo | ||||
| 171 | # - ro | ||||
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 172 | mysql: |
| garciadeblas | 4101260 | 2018-04-23 17:23:35 +0200 | [diff] [blame] | 173 | image: mysql:5 |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 174 | networks: |
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 175 | netOSM: |
| 176 | aliases: | ||||
| 177 | - ro-db | ||||
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 178 | volumes: |
| 179 | - ro_db:/var/lib/mysql | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 180 | env_file: |
| 181 | - ./ro-db.env | ||||
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 182 | logging: |
| 183 | driver: "json-file" | ||||
| 184 | options: | ||||
| 185 | max-size: "100m" | ||||
| 186 | max-file: "2" | ||||
| garciadeblas | 46e9959 | 2018-04-16 13:32:02 +0200 | [diff] [blame] | 187 | # ports: |
| 188 | # - "3306:3306" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 189 | ro: |
| garciadeblas | 44c0219 | 2019-12-09 01:36:57 +0100 | [diff] [blame] | 190 | image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-7} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 191 | networks: |
| 192 | - netOSM | ||||
| 193 | environment: | ||||
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 194 | RO_DB_HOST: mysql |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 195 | env_file: |
| 196 | - ./ro.env | ||||
| 197 | #depends_on: | ||||
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 198 | # - mysql |
| garciadeblas | e3697a1 | 2018-12-10 15:49:27 +0100 | [diff] [blame] | 199 | volumes: |
| 200 | - ro:/var/log/osm | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 201 | ports: |
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 202 | - "${OSM_RO_PORTS:-9090:9090}" |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 203 | logging: |
| 204 | driver: "json-file" | ||||
| 205 | options: | ||||
| 206 | max-size: "100m" | ||||
| 207 | max-file: "2" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 208 | mon: |
| garciadeblas | 44c0219 | 2019-12-09 01:36:57 +0100 | [diff] [blame] | 209 | image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-7} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 210 | networks: |
| 211 | - netOSM | ||||
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 212 | volumes: |
| 213 | - mon_db:/app/database | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 214 | environment: |
| Benjamin Diaz | e6f7b45 | 2019-02-07 12:09:57 -0300 | [diff] [blame] | 215 | OSMMON_MESSAGE_HOST: kafka |
| 216 | OSMMON_MESSAGE_PORT: 9092 | ||||
| garciadeblas | 46e9959 | 2018-04-16 13:32:02 +0200 | [diff] [blame] | 217 | env_file: |
| 218 | - ./mon.env | ||||
| lavado | afa54c7 | 2018-10-05 09:28:28 -0500 | [diff] [blame] | 219 | ports: |
| 220 | - "${OSM_MON_PORTS:-8662:8662}" | ||||
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 221 | #depends_on: |
| 222 | # - kafka | ||||
| Benjamin Diaz | 336c7e8 | 2019-02-27 14:01:38 -0300 | [diff] [blame] | 223 | logging: |
| 224 | driver: "json-file" | ||||
| 225 | options: | ||||
| 226 | max-file: 5 | ||||
| 227 | max-size: 10m | ||||
| Mike Marchetti | da8a9c4 | 2018-10-01 15:25:15 -0400 | [diff] [blame] | 228 | pol: |
| garciadeblas | 44c0219 | 2019-12-09 01:36:57 +0100 | [diff] [blame] | 229 | image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-7} |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 230 | networks: |
| 231 | - netOSM | ||||
| lavado | 0ef7a6d | 2018-10-19 16:59:12 -0500 | [diff] [blame] | 232 | volumes: |
| 233 | - pol_db:/app/database | ||||
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 234 | environment: |
| Benjamin Diaz | e6f7b45 | 2019-02-07 12:09:57 -0300 | [diff] [blame] | 235 | OSMPOL_MESSAGE_HOST: kafka |
| 236 | OSMPOL_MESSAGE_PORT: 9092 | ||||
| Benjamin Diaz | 0456088 | 2019-02-26 17:25:07 -0300 | [diff] [blame] | 237 | env_file: |
| 238 | - ./pol.env | ||||
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 239 | #depends_on: |
| 240 | # - kafka | ||||
| 241 | # - mon | ||||
| Benjamin Diaz | 336c7e8 | 2019-02-27 14:01:38 -0300 | [diff] [blame] | 242 | logging: |
| 243 | driver: "json-file" | ||||
| 244 | options: | ||||
| 245 | max-file: 5 | ||||
| 246 | max-size: 10m | ||||
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 247 | light-ui: |
| garciadeblas | 44c0219 | 2019-12-09 01:36:57 +0100 | [diff] [blame] | 248 | image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-7} |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 249 | networks: |
| 250 | - netOSM | ||||
| 251 | environment: | ||||
| 252 | OSM_SERVER: nbi | ||||
| 253 | #depends_on: | ||||
| 254 | # - nbi | ||||
| Benjamin Diaz | 4088a9b | 2019-05-21 15:11:49 -0300 | [diff] [blame] | 255 | env_file: |
| 256 | - ./lwui.env | ||||
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 257 | ports: |
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 258 | - "${OSM_UI_PORTS:-80:80}" |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 259 | logging: |
| 260 | driver: "json-file" | ||||
| 261 | options: | ||||
| 262 | max-size: "100m" | ||||
| 263 | max-file: "2" | ||||
| lavado | 6ad812e | 2019-11-29 10:58:58 -0500 | [diff] [blame] | 264 | grafana: |
| 265 | image: grafana/grafana | ||||
| 266 | volumes: | ||||
| lavado | 914aa7e | 2020-05-08 14:07:21 -0500 | [diff] [blame^] | 267 | - ./grafana/dashboards-osm.yml:/etc/grafana/provisioning/dashboards/dashboards-osm.yml |
| 268 | - ./grafana/osm-sample-dashboard.json:/etc/grafana/provisioning/dashboards/osm-sample-dashboard.json | ||||
| 269 | - ./grafana/osm-system-dashboard.json:/etc/grafana/provisioning/dashboards/osm-system-dashboard.json | ||||
| 270 | - ./grafana/datasource-prometheus.yml:/etc/grafana/provisioning/datasources/datasource-prometheus.yml | ||||
| lavado | 6ad812e | 2019-11-29 10:58:58 -0500 | [diff] [blame] | 271 | hostname: grafana |
| 272 | ports: | ||||
| 273 | - "${OSM_GRAFANA_PORTS:-3000:3000}" | ||||
| 274 | networks: | ||||
| garciadeblas | a7b27dc | 2019-12-04 15:06:55 +0100 | [diff] [blame] | 275 | - netOSM |
| garciadeblas | 152bcad | 2019-12-17 11:01:06 +0100 | [diff] [blame] | 276 | logging: |
| 277 | driver: "json-file" | ||||
| 278 | options: | ||||
| 279 | max-size: "100m" | ||||
| 280 | max-file: "2" | ||||
| 281 | |||||