version: '3.5' services: prometheus: container_name: prometheus image: prom/prometheus:v2.17.2 depends_on: - "vminsert" - "vmselect" ports: - 9090:9090 volumes: - promdata:/prometheus - ./prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' 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: - "prometheus" ports: - 3000:3000 restart: always volumes: - grafanadata:/var/lib/grafana - ./provisioning/:/etc/grafana/provisioning/ - ./../../dashboards/victoriametrics.json:/var/lib/grafana/vm.json vmstorage: container_name: vmstorage image: victoriametrics/vmstorage ports: - 8482 - 8400 - 8401 volumes: - strgdata:/storage command: - '--storageDataPath=/storage' restart: always vminsert: container_name: vminsert image: victoriametrics/vminsert depends_on: - "vmstorage" command: - '--storageNode=vmstorage:8400' ports: - 8480 restart: always vmselect: container_name: vmselect image: victoriametrics/vmselect depends_on: - "vmstorage" command: - '--storageNode=vmstorage:8401' ports: - 8481:8481 restart: always volumes: promdata: {} strgdata: {} grafanadata: {}