services: prometheus: image: prom/prometheus:v3.5.0 container_name: prometheus volumes: - /mnt/data/persistent/monitoring/prometheus/config:/etc/prometheus - /mnt/data/persistent/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" 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/persistent/monitoring/victoriametrics/data:/victoria-metrics-data command: - "--retentionPeriod=100y" restart: unless-stopped expose: - 8428 network_mode: "host" labels: org.label-schema.group: "monitoring"