| 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: |
| Felipe Vicens | adf35b5 | 2020-06-17 18:37:18 +0200 | [diff] [blame] | 43 | test: echo ruok | nc -w 2 localhost 2181 |
| 44 | interval: 20s |
| Mike Marchetti | 851aac2 | 2018-09-20 10:18:01 -0400 | [diff] [blame] | 45 | timeout: 10s |
| Felipe Vicens | adf35b5 | 2020-06-17 18:37:18 +0200 | [diff] [blame] | 46 | retries: 5 |
| 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 |
| garciadeblas | 9e63737 | 2020-06-12 14:29:48 +0000 | [diff] [blame] | 63 | KAFKA_BROKER_ID: 1 |
| 64 | KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092 |
| 65 | KAFKA_LISTENERS: PLAINTEXT://:9092 |
| 66 | KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT |
| 67 | KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 |
| 68 | KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false' |
| Felipe Vicens | 1b3c183 | 2020-06-21 18:58:11 +0200 | [diff] [blame] | 69 | KAFKA_CREATE_TOPICS: 'admin:1:1,users:1:1,projects:1:1,vim_account:1:1,wim_account:1:1,sdn:1:1,k8scluster:1:1,k8srepo:1:1,osmrepos:1:1,vnfd:1:1,nsd:1:1,nst:1:1,pdu:1:1,ns:1:1,nsi:1:1,alarm_request:1:1,alarm_response:1:1,pla:1:1' |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 70 | volumes: |
| 71 | - /var/run/docker.sock:/var/run/docker.sock |
| calvinosanch | fc94811 | 2019-07-26 10:46:00 +0000 | [diff] [blame] | 72 | healthcheck: |
| Felipe Vicens | adf35b5 | 2020-06-17 18:37:18 +0200 | [diff] [blame] | 73 | test: echo ruok | nc -w 2 zookeeper 2181 |
| calvinosanch | fc94811 | 2019-07-26 10:46:00 +0000 | [diff] [blame] | 74 | interval: 20s |
| 75 | timeout: 10s |
| 76 | retries: 5 |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 77 | logging: |
| 78 | driver: "json-file" |
| 79 | options: |
| 80 | max-size: "100m" |
| 81 | max-file: "2" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 82 | #depends_on: |
| 83 | # - zookeeper |
| 84 | mongo: |
| 85 | image: mongo |
| garciadeblas | 46e9959 | 2018-04-16 13:32:02 +0200 | [diff] [blame] | 86 | # ports: |
| 87 | # - "27017:27017" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 88 | networks: |
| 89 | - netOSM |
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 90 | volumes: |
| 91 | - mongo_db:/data/db |
| lavado | 6021624 | 2018-10-10 23:44:28 +0200 | [diff] [blame] | 92 | prometheus: |
| 93 | image: prom/prometheus:${PROMETHEUS_TAG:-latest} |
| 94 | hostname: prometheus |
| 95 | ports: |
| 96 | - "${OSM_PROM_PORTS:-9091:9090}" |
| 97 | volumes: |
| lavado | 7190648 | 2020-04-13 17:02:00 -0500 | [diff] [blame] | 98 | - ./prometheus/:/etc/prometheus/ |
| lavado | 353c8dd | 2018-11-08 08:22:07 -0500 | [diff] [blame] | 99 | - prom_db:/prometheus |
| lavado | 7190648 | 2020-04-13 17:02:00 -0500 | [diff] [blame] | 100 | command: |
| 101 | - '--config.file=/etc/prometheus/prometheus.yml' |
| 102 | - '--web.enable-lifecycle' |
| lavado | 6021624 | 2018-10-10 23:44:28 +0200 | [diff] [blame] | 103 | networks: |
| 104 | - netOSM |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 105 | logging: |
| 106 | driver: "json-file" |
| 107 | options: |
| 108 | max-size: "100m" |
| 109 | max-file: "2" |
| lavado | 6ad812e | 2019-11-29 10:58:58 -0500 | [diff] [blame] | 110 | prometheus-cadvisor: |
| 111 | image: google/cadvisor:${PROMETHEUS_CADVISOR_TAG:-latest} |
| 112 | ports: |
| 113 | - "${OSM_PROM_CADVISOR_PORTS:-8080:8080}" |
| 114 | volumes: |
| 115 | - /:/rootfs:ro |
| 116 | - /var/run:/var/run:ro |
| 117 | - /sys:/sys:ro |
| 118 | - /var/lib/docker/:/var/lib/docker:ro |
| 119 | - /dev/disk/:/dev/disk:ro |
| 120 | networks: |
| lavado | 1e4a88c | 2019-12-03 16:19:59 -0500 | [diff] [blame] | 121 | - netOSM |
| Eduardo Sousa | 09a1e97 | 2018-09-21 11:06:32 +0100 | [diff] [blame] | 122 | keystone: |
| garciadeblas | 7cebea8 | 2020-07-03 15:33:36 +0000 | [diff] [blame^] | 123 | image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-8} |
| Eduardo Sousa | 09a1e97 | 2018-09-21 11:06:32 +0100 | [diff] [blame] | 124 | networks: |
| 125 | - netOSM |
| 126 | environment: |
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 127 | DB_HOST: mysql |
| Eduardo Sousa | 09a1e97 | 2018-09-21 11:06:32 +0100 | [diff] [blame] | 128 | env_file: |
| 129 | - ./keystone.env |
| 130 | ports: |
| 131 | - "${OSM_KEYSTONE_PORTS:-5000:5000}" |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 132 | logging: |
| 133 | driver: "json-file" |
| 134 | options: |
| 135 | max-size: "100m" |
| 136 | max-file: "2" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 137 | nbi: |
| garciadeblas | 7cebea8 | 2020-07-03 15:33:36 +0000 | [diff] [blame^] | 138 | image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-8} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 139 | networks: |
| 140 | - netOSM |
| 141 | volumes: |
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 142 | - osm_packages:/app/storage |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 143 | environment: |
| 144 | OSMNBI_DATABASE_HOST: mongo |
| 145 | OSMNBI_MESSAGE_HOST: kafka |
| Eduardo Sousa | e193dfd | 2018-09-21 11:37:49 +0100 | [diff] [blame] | 146 | env_file: |
| 147 | - ./nbi.env |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 148 | ports: |
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 149 | - "${OSM_NBI_PORTS:-9999:9999}" |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 150 | logging: |
| 151 | driver: "json-file" |
| 152 | options: |
| 153 | max-size: "100m" |
| 154 | max-file: "2" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 155 | #depends_on: |
| 156 | # - kafka |
| 157 | # - mongo |
| 158 | lcm: |
| garciadeblas | 7cebea8 | 2020-07-03 15:33:36 +0000 | [diff] [blame^] | 159 | image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-8} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 160 | networks: |
| 161 | - netOSM |
| garciadeblas | e1b66ed | 2018-05-14 11:34:26 +0200 | [diff] [blame] | 162 | volumes: |
| 163 | - osm_packages:/app/storage |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 164 | environment: |
| 165 | OSMLCM_RO_HOST: ro |
| 166 | OSMLCM_DATABASE_HOST: mongo |
| 167 | OSMLCM_MESSAGE_HOST: kafka |
| 168 | env_file: |
| 169 | - ./lcm.env |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 170 | logging: |
| 171 | driver: "json-file" |
| 172 | options: |
| 173 | max-size: "100m" |
| 174 | max-file: "2" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 175 | #depends_on: |
| 176 | # - kafka |
| 177 | # - mongo |
| 178 | # - ro |
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 179 | mysql: |
| garciadeblas | 4101260 | 2018-04-23 17:23:35 +0200 | [diff] [blame] | 180 | image: mysql:5 |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 181 | networks: |
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 182 | netOSM: |
| 183 | aliases: |
| 184 | - ro-db |
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 185 | volumes: |
| 186 | - ro_db:/var/lib/mysql |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 187 | env_file: |
| 188 | - ./ro-db.env |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 189 | logging: |
| 190 | driver: "json-file" |
| 191 | options: |
| 192 | max-size: "100m" |
| 193 | max-file: "2" |
| garciadeblas | 46e9959 | 2018-04-16 13:32:02 +0200 | [diff] [blame] | 194 | # ports: |
| 195 | # - "3306:3306" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 196 | ro: |
| garciadeblas | 7cebea8 | 2020-07-03 15:33:36 +0000 | [diff] [blame^] | 197 | image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-8} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 198 | networks: |
| 199 | - netOSM |
| 200 | environment: |
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 201 | RO_DB_HOST: mysql |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 202 | env_file: |
| 203 | - ./ro.env |
| 204 | #depends_on: |
| Benjamin Diaz | 6e3a2b6 | 2019-02-22 16:04:34 -0300 | [diff] [blame] | 205 | # - mysql |
| garciadeblas | e3697a1 | 2018-12-10 15:49:27 +0100 | [diff] [blame] | 206 | volumes: |
| 207 | - ro:/var/log/osm |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 208 | ports: |
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 209 | - "${OSM_RO_PORTS:-9090:9090}" |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 210 | logging: |
| 211 | driver: "json-file" |
| 212 | options: |
| 213 | max-size: "100m" |
| 214 | max-file: "2" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 215 | mon: |
| garciadeblas | 7cebea8 | 2020-07-03 15:33:36 +0000 | [diff] [blame^] | 216 | image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-8} |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 217 | networks: |
| 218 | - netOSM |
| gcalvino | 796aafb | 2018-05-10 13:29:17 +0200 | [diff] [blame] | 219 | volumes: |
| 220 | - mon_db:/app/database |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 221 | environment: |
| Benjamin Diaz | e6f7b45 | 2019-02-07 12:09:57 -0300 | [diff] [blame] | 222 | OSMMON_MESSAGE_HOST: kafka |
| 223 | OSMMON_MESSAGE_PORT: 9092 |
| garciadeblas | 46e9959 | 2018-04-16 13:32:02 +0200 | [diff] [blame] | 224 | env_file: |
| 225 | - ./mon.env |
| lavado | afa54c7 | 2018-10-05 09:28:28 -0500 | [diff] [blame] | 226 | ports: |
| 227 | - "${OSM_MON_PORTS:-8662:8662}" |
| gcalvino | 41440fc | 2018-03-16 13:21:21 +0100 | [diff] [blame] | 228 | #depends_on: |
| 229 | # - kafka |
| Benjamin Diaz | 336c7e8 | 2019-02-27 14:01:38 -0300 | [diff] [blame] | 230 | logging: |
| 231 | driver: "json-file" |
| 232 | options: |
| 233 | max-file: 5 |
| 234 | max-size: 10m |
| Mike Marchetti | da8a9c4 | 2018-10-01 15:25:15 -0400 | [diff] [blame] | 235 | pol: |
| garciadeblas | 7cebea8 | 2020-07-03 15:33:36 +0000 | [diff] [blame^] | 236 | image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-8} |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 237 | networks: |
| 238 | - netOSM |
| lavado | 0ef7a6d | 2018-10-19 16:59:12 -0500 | [diff] [blame] | 239 | volumes: |
| 240 | - pol_db:/app/database |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 241 | environment: |
| Benjamin Diaz | e6f7b45 | 2019-02-07 12:09:57 -0300 | [diff] [blame] | 242 | OSMPOL_MESSAGE_HOST: kafka |
| 243 | OSMPOL_MESSAGE_PORT: 9092 |
| Benjamin Diaz | 0456088 | 2019-02-26 17:25:07 -0300 | [diff] [blame] | 244 | env_file: |
| 245 | - ./pol.env |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 246 | #depends_on: |
| 247 | # - kafka |
| 248 | # - mon |
| Benjamin Diaz | 336c7e8 | 2019-02-27 14:01:38 -0300 | [diff] [blame] | 249 | logging: |
| 250 | driver: "json-file" |
| 251 | options: |
| 252 | max-file: 5 |
| 253 | max-size: 10m |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 254 | light-ui: |
| garciadeblas | 7cebea8 | 2020-07-03 15:33:36 +0000 | [diff] [blame^] | 255 | image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-8} |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 256 | networks: |
| 257 | - netOSM |
| 258 | environment: |
| 259 | OSM_SERVER: nbi |
| 260 | #depends_on: |
| 261 | # - nbi |
| Benjamin Diaz | 4088a9b | 2019-05-21 15:11:49 -0300 | [diff] [blame] | 262 | env_file: |
| 263 | - ./lwui.env |
| garciadeblas | 14097dc | 2018-04-04 18:36:32 +0200 | [diff] [blame] | 264 | ports: |
| Mike Marchetti | b842085 | 2018-09-13 13:45:06 -0400 | [diff] [blame] | 265 | - "${OSM_UI_PORTS:-80:80}" |
| calvinosanch | 032bd77 | 2019-07-30 07:11:56 +0000 | [diff] [blame] | 266 | logging: |
| 267 | driver: "json-file" |
| 268 | options: |
| 269 | max-size: "100m" |
| 270 | max-file: "2" |
| lavado | 6ad812e | 2019-11-29 10:58:58 -0500 | [diff] [blame] | 271 | grafana: |
| 272 | image: grafana/grafana |
| 273 | volumes: |
| lavado | 914aa7e | 2020-05-08 14:07:21 -0500 | [diff] [blame] | 274 | - ./grafana/dashboards-osm.yml:/etc/grafana/provisioning/dashboards/dashboards-osm.yml |
| 275 | - ./grafana/osm-sample-dashboard.json:/etc/grafana/provisioning/dashboards/osm-sample-dashboard.json |
| 276 | - ./grafana/osm-system-dashboard.json:/etc/grafana/provisioning/dashboards/osm-system-dashboard.json |
| 277 | - ./grafana/datasource-prometheus.yml:/etc/grafana/provisioning/datasources/datasource-prometheus.yml |
| lavado | 6ad812e | 2019-11-29 10:58:58 -0500 | [diff] [blame] | 278 | hostname: grafana |
| 279 | ports: |
| 280 | - "${OSM_GRAFANA_PORTS:-3000:3000}" |
| 281 | networks: |
| garciadeblas | a7b27dc | 2019-12-04 15:06:55 +0100 | [diff] [blame] | 282 | - netOSM |
| garciadeblas | 152bcad | 2019-12-17 11:01:06 +0100 | [diff] [blame] | 283 | logging: |
| 284 | driver: "json-file" |
| 285 | options: |
| 286 | max-size: "100m" |
| 287 | max-file: "2" |
| 288 | |