# One-time permissions (run on host): # sudo chown -R 65534:65534 /srv/homelab/data/monitoring/prometheus # sudo chown -R 10001:10001 /srv/homelab/data/monitoring/loki # sudo chown -R 472:472 /srv/homelab/data/monitoring/grafana # services: cadvisor: image: gcr.io/cadvisor/cadvisor:latest container_name: cadvisor ports: - "8088:8080" volumes: - /:/rootfs:ro - /var/run:/var/run:ro - /sys:/sys:ro - /var/lib/docker:/var/lib/docker:ro restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5" prometheus: image: prom/prometheus:latest container_name: prometheus extra_hosts: - "metrics.home:192.168.1.70" ports: - "9094:9090" volumes: - /srv/homelab/config/monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro - /srv/homelab/data/monitoring/prometheus:/prometheus restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5" grafana: image: grafana/grafana:latest container_name: grafana user: "472:65534" extra_hosts: - "host.docker.internal:host-gateway" environment: - GF_FEATURE_TOGGLES_KUBERNETESDASHBOARDS=false depends_on: - loki - prometheus ports: - "3034:3000" volumes: - /srv/homelab/data/monitoring/grafana:/var/lib/grafana - /srv/homelab/config/monitoring/grafana/provisioning:/etc/grafana/provisioning:ro restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5" loki: image: grafana/loki:2.9.0 container_name: loki ports: - "3100:3100" command: -config.file=/etc/loki/config.yaml volumes: - /srv/homelab/config/monitoring/loki-config.yaml:/etc/loki/config.yaml:ro - /srv/homelab/data/monitoring/loki:/loki restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5" promtail: image: grafana/promtail:2.9.0 container_name: promtail command: -config.file=/etc/promtail/config.yaml depends_on: - loki volumes: - /srv/homelab/config/monitoring/promtail-config.yaml:/etc/promtail/config.yaml:ro - /var/log:/var/log:ro - /etc/machine-id:/etc/machine-id:ro - /var/lib/docker/containers:/var/lib/docker/containers:ro - /run/log/journal:/run/log/journal:ro - /var/log/journal:/var/log/journal:ro restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5"