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" # restart: unless-stopped # expose: # - 43261 # network_mode: "host" # labels: # org.label-schema.group: "monitoring" 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 restart: unless-stopped expose: - 43261 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" labels: org.label-schema.group: "monitoring" 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" restart: unless-stopped expose: - 56546 network_mode: "host" labels: org.label-schema.group: "monitoring" # 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" # We run grafana via coolify so that it may be exposed to internet # grafana: # image: grafana/grafana:11.5 # container_name: grafana # volumes: # - ./grafana/data:/var/lib/grafana # - ./grafana/config:/etc/grafana # environment: # - GF_SECURITY_ADMIN_USER=dave # - GF_SECURITY_ADMIN_PASSWORD=9@^F@93qHv48JXHvi3Bf # - GF_USERS_ALLOW_SIGN_UP=true # restart: unless-stopped # expose: # - 43621 # 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" restart: unless-stopped expose: - 8428 network_mode: "host" labels: org.label-schema.group: "monitoring"