services: # prometheus: # image: prom/prometheus:v3.5.0 # container_name: prometheus # volumes: # - /mnt/data/linux/config/monitoring/prometheus/config:/etc/prometheus # - /mnt/data/linux/config/monitoring/prometheus/data:/prometheus # command: # - "--config.file=/etc/prometheus/prometheus.yml" # - "--storage.tsdb.path=/prometheus" # - "--web.console.libraries=/etc/prometheus/console_libraries" # - "--web.console.templates=/etc/prometheus/consoles" # - "--storage.tsdb.retention.time=1d" # - "--web.enable-lifecycle" # - "--web.listen-address=:43261" # extra_hosts: # - "host.docker.internal:host-gateway" # vmagent: # image: victoriametrics/vmagent:latest # container_name: vmagent # volumes: # - /mnt/data/linux/config/monitoring/prometheus/config:/config # - /mnt/data/linux/config/monitoring/vmagent/data:/vmagentdata # command: # - '--promscrape.config=/config/prometheus.yml' # - '--remoteWrite.url=http://127.0.0.1:8428/api/v1/write' # - '--httpListenAddr=:43261' # - '--remoteWrite.maxDiskUsagePerURL=2GB' # - '--promscrape.discovery.concurrency=10' # - '--promscrape.suppressScrapeErrors=false' # network_mode: "host" # nodeexporter: # image: prom/node-exporter:v1.8.2 # container_name: nodeexporter # volumes: # - /proc:/host/proc:ro # - /sys:/host/sys:ro # - /:/rootfs:ro # command: # - "--path.procfs=/host/proc" # - "--path.rootfs=/rootfs" # - "--path.sysfs=/host/sys" # - "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)" # - "--web.listen-address=:56546" # network_mode: "host" # cadvisor: # image: gcr.io/google-containers/cadvisor:v0.34.0 # container_name: cadvisor # volumes: # - /:/rootfs:ro # - /var/run:/var/run:rw # - /sys:/sys:ro # - /var/lib/docker:/var/lib/docker:ro # #- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux # restart: unless-stopped # expose: # - 8080 # network_mode: "host" # labels: # org.label-schema.group: "monitoring" #loki: # container_name: loki # image: grafana/loki:3.3.2 # expose: # - 43622 # command: -config.file=/etc/loki/config.yaml # restart: unless-stopped # volumes: # - ./loki/config:/etc/loki # - ./loki/data:/data/loki # network_mode: "host" #promtail: # container_name: promtail # image: grafana/promtail:3.3.2 # expose: # - 43623 # volumes: # - /var/log:/var/log # - /mnt/data/docker/containers:/var/lib/docker/containers:ro # - ./promtail/config:/etc/promtail # command: -config.file=/etc/promtail/config.yml # restart: unless-stopped # network_mode: "host" #pinger: # image: pinger # container_name: pinger # restart: unless-stopped # network_mode: "host" # volumes: # - ./pinger/logs:/logs # victoriametrics: # image: victoriametrics/victoria-metrics # container_name: victoriametrics # volumes: # - /mnt/data/linux/config/monitoring/victoriametrics/data:/victoria-metrics-data # command: # - "--retentionPeriod=100y" # network_mode: "host" grafana: image: grafana/grafana environment: - SERVICE_URL_GRAFANA_3000 - 'GF_SERVER_ROOT_URL=${SERVICE_URL_GRAFANA}' - 'GF_SERVER_DOMAIN=${SERVICE_URL_GRAFANA}' - 'GF_SECURITY_ADMIN_PASSWORD=${SERVICE_PASSWORD_GRAFANA}' volumes: - '/mnt/data/persistent/monitoring/grafana/data:/var/lib/grafana' - '/mnt/data/persistent/monitoring/grafana/config:/etc/grafana' extra_hosts: - "host.docker.internal:host-gateway" healthcheck: test: - CMD - curl - '-f' - 'http://127.0.0.1:43433/api/health' interval: 5s timeout: 20s retries: 10