version: '3.5' services: prometheus: container_name: prometheus image: prom/prometheus:v2.17.2 depends_on: - "victoriametrics" ports: - 9090:9090 volumes: - promdata:/prometheus - ./prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' networks: - vm_net restart: always victoriametrics: container_name: victoriametrics image: victoriametrics/victoria-metrics ports: - 8428:8428 - 2003:2003 - 4242:4242 volumes: - vmdata:/storage command: - '--storageDataPath=/storage' - '--graphiteListenAddr=:2003' - '--opentsdbListenAddr=:4242' - '--httpListenAddr=:8428' networks: - vm_net restart: always grafana: container_name: grafana image: grafana/grafana:6.7.2 entrypoint: > /bin/sh -c " cd /var/lib/grafana && mkdir -p dashboards && sed 's/$${DS_PROMETHEUS}/Prometheus/g' vm.json > dashboards/vm.json && /run.sh" depends_on: - "victoriametrics" ports: - 3000:3000 volumes: - grafanadata:/var/lib/grafana - ./provisioning/:/etc/grafana/provisioning/ - ./../../dashboards/victoriametrics.json:/var/lib/grafana/vm.json networks: - vm_net restart: always volumes: promdata: {} vmdata: {} grafanadata: {} networks: vm_net: