Newer
Older
##
# 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.
##
########################################################################
#driver: overlay
#driver_opts:
# com.docker.network.driver.mtu: "1446"
services:
zookeeper:
image: wurstmeister/zookeeper:${ZOOKEEPER_TAG:-latest}
healthcheck:
test: echo stat | nc localhost 2181
interval: 10s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "2"
networks:
- netOSM
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
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:
image: mongo
prometheus:
image: prom/prometheus:${PROMETHEUS_TAG:-latest}
hostname: prometheus
ports:
- "${OSM_PROM_PORTS:-9091:9090}"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
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:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
networks:
image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-6}
networks:
- netOSM
environment:
env_file:
- ./keystone.env
ports:
- "${OSM_KEYSTONE_PORTS:-5000:5000}"
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "2"
image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-6}
networks:
- netOSM
volumes:
environment:
OSMNBI_DATABASE_HOST: mongo
OSMNBI_MESSAGE_HOST: kafka
- "${OSM_NBI_PORTS:-9999:9999}"
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "2"
#depends_on:
# - kafka
# - mongo
lcm:
image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-6}
volumes:
- osm_packages:/app/storage
environment:
OSMLCM_RO_HOST: ro
OSMLCM_DATABASE_HOST: mongo
OSMLCM_MESSAGE_HOST: kafka
env_file:
- ./lcm.env
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "2"
#depends_on:
# - kafka
# - mongo
# - ro
image: mysql:5
volumes:
- ro_db:/var/lib/mysql
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "2"
image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-6}
networks:
- netOSM
environment:
env_file:
- ./ro.env
#depends_on:
- "${OSM_RO_PORTS:-9090:9090}"
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "2"
image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-6}
volumes:
- mon_db:/app/database
OSMMON_MESSAGE_HOST: kafka
OSMMON_MESSAGE_PORT: 9092
logging:
driver: "json-file"
options:
max-file: 5
max-size: 10m
image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-6}
OSMPOL_MESSAGE_HOST: kafka
OSMPOL_MESSAGE_PORT: 9092
#depends_on:
# - kafka
# - mon
logging:
driver: "json-file"
options:
max-file: 5
max-size: 10m
image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-6}
networks:
- netOSM
environment:
OSM_SERVER: nbi
#depends_on:
# - nbi
env_file:
- ./lwui.env
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