X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fdocker%2Fdocker-compose.yaml;h=7070edd04e1e199dd2a6911f17d3bc9054ba9918;hb=6ad812eafdd40741b596a8aee93dd88e9232a162;hp=e45fabde25a42b47229c5c142e6abed1d38e9318;hpb=6021624aec365ab77c770b5880f40b4f711624e2;p=osm%2Fdevops.git diff --git a/installers/docker/docker-compose.yaml b/installers/docker/docker-compose.yaml index e45fabde..7070edd0 100644 --- a/installers/docker/docker-compose.yaml +++ b/installers/docker/docker-compose.yaml @@ -1,10 +1,30 @@ +## +# Copyright 2019 ETSI +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +## + +######################################################################## + version: '3' volumes: + ro: ro_db: mongo_db: mon_db: + pol_db: osm_packages: - keystone_db: + prom_db: networks: netOSM: external: @@ -24,6 +44,11 @@ services: interval: 10s timeout: 10s retries: 3 + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" kafka: image: wurstmeister/kafka:${KAFKA_TAG:-latest} ports: @@ -34,8 +59,19 @@ services: KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_ADVERTISED_PORT: 9092 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_LOG_RETENTION_HOURS: 24 volumes: - /var/run/docker.sock:/var/run/docker.sock + healthcheck: + test: zookeeper-shell.sh zookeeper:2181 ls /brokers/ids 2>&1 | grep "Node does not exist" && exit 1 || exit 0 + interval: 20s + timeout: 10s + retries: 5 + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" #depends_on: # - zookeeper mongo: @@ -53,30 +89,43 @@ services: - "${OSM_PROM_PORTS:-9091:9090}" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro + - prom_db:/prometheus networks: - netOSM - keystone-db: - image: mariadb:10 - networks: - - netOSM + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" + prometheus-cadvisor: + image: google/cadvisor:${PROMETHEUS_CADVISOR_TAG:-latest} + ports: + - "${OSM_PROM_CADVISOR_PORTS:-8080:8080}" volumes: - - keystone_db:/var/lib/mysql - env_file: - - ./keystone-db.env -# ports: -# - "3306:3306" + - /:/rootfs:ro + - /var/run:/var/run:ro + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + - /dev/disk/:/dev/disk:ro + networks: + - netOSM keystone: - image: ${DOCKER_USER:-osm}/keystone:${TAG:-latest} + image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-6} networks: - netOSM environment: - DB_HOST: keystone-db + DB_HOST: mysql env_file: - ./keystone.env ports: - "${OSM_KEYSTONE_PORTS:-5000:5000}" + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" nbi: - image: ${DOCKER_USER:-osm}/nbi:${TAG:-latest} + image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-6} networks: - netOSM volumes: @@ -88,11 +137,16 @@ services: - ./nbi.env ports: - "${OSM_NBI_PORTS:-9999:9999}" + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" #depends_on: # - kafka # - mongo lcm: - image: ${DOCKER_USER:-osm}/lcm:${TAG:-latest} + image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-6} networks: - netOSM volumes: @@ -103,63 +157,116 @@ services: OSMLCM_MESSAGE_HOST: kafka env_file: - ./lcm.env + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" #depends_on: # - kafka # - mongo # - ro - ro-db: + mysql: image: mysql:5 networks: - - netOSM + netOSM: + aliases: + - ro-db volumes: - ro_db:/var/lib/mysql env_file: - ./ro-db.env + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" # ports: # - "3306:3306" ro: - image: ${DOCKER_USER:-osm}/ro:${TAG:-latest} + image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-6} networks: - netOSM environment: - RO_DB_HOST: ro-db + RO_DB_HOST: mysql env_file: - ./ro.env #depends_on: - # - ro-db + # - mysql + volumes: + - ro:/var/log/osm ports: - "${OSM_RO_PORTS:-9090:9090}" + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" mon: - image: ${DOCKER_USER:-osm}/mon:${TAG:-latest} + image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-6} networks: - netOSM volumes: - mon_db:/app/database environment: - BROKER_URI: kafka:9092 - DATABASE: sqlite:///app/database/mon_sqlite.db + OSMMON_MESSAGE_HOST: kafka + OSMMON_MESSAGE_PORT: 9092 env_file: - ./mon.env ports: - "${OSM_MON_PORTS:-8662:8662}" #depends_on: # - kafka + logging: + driver: "json-file" + options: + max-file: 5 + max-size: 10m pol: - image: ${DOCKER_USER:-osm}/pol:${TAG:-latest} + image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-6} networks: - netOSM + volumes: + - pol_db:/app/database environment: - BROKER_URI: kafka:9092 + OSMPOL_MESSAGE_HOST: kafka + OSMPOL_MESSAGE_PORT: 9092 + env_file: + - ./pol.env #depends_on: # - kafka # - mon + logging: + driver: "json-file" + options: + max-file: 5 + max-size: 10m light-ui: - image: ${DOCKER_USER:-osm}/light-ui:${TAG:-latest} + image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-6} networks: - netOSM environment: OSM_SERVER: nbi #depends_on: # - nbi + env_file: + - ./lwui.env ports: - "${OSM_UI_PORTS:-80:80}" + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "2" + grafana: + image: grafana/grafana + volumes: + - ./files/dashboards-osm.yml:/etc/grafana/provisioning/dashboards/dashboards-osm.yml + - ./files/osm-sample-dashboard.json:/etc/grafana/provisioning/dashboards/osm-sample-dashboard.json + - ./files/osm-system-dashboard.json:/etc/grafana/provisioning/dashboards/osm-system-dashboard.json + - ./files/datasource-prometheus.yml:/etc/grafana/provisioning/datasources/datasource-prometheus.yml + hostname: grafana + ports: + - "${OSM_GRAFANA_PORTS:-3000:3000}" + networks: + - netOSM \ No newline at end of file