networks: prometheus: external: false grafana: name: grafana driver: bridge external: true caddy: name: caddy driver: bridge external: true services: prometheus: image: prom/prometheus:v3 container_name: prometheus restart: unless-stopped networks: - prometheus - grafana - caddy command: "--config.file=/etc/prometheus/prometheus.yaml --storage.tsdb.retention.time=10d --storage.tsdb.retention.size=15GB" volumes: - ./data/config/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro - prometheus-data:/prometheus logging: driver: "json-file" options: max-size: "100m" max-file: "3" node_exporter: image: quay.io/prometheus/node-exporter:v1 container_name: node_exporter restart: unless-stopped networks: - prometheus command: - "--path.rootfs=/host" pid: host volumes: - "/:/host:ro,rslave" logging: driver: "json-file" options: max-size: "100m" max-file: "3" cadvisor: image: ghcr.io/google/cadvisor:0.56 container_name: cadvisor restart: unless-stopped networks: - prometheus volumes: - "/:/rootfs:ro" - "/var/run:/var/run:ro" - "/sys:/sys:ro" - "/var/lib/docker/:/var/lib/docker:ro" - "/dev/disk/:/dev/disk:ro" privileged: true devices: - "/dev/kmsg:/dev/kmsg" command: - -disable_metrics=advtcp,app,cpuLoad,cpu_topology,cpuset,disk,diskIO,hugetlb,memory_numa,network,oom_event,percpu,perf_event,pressure,process,referenced_memory,resctrl,sched,tcp,udp - -housekeeping_interval=3s - -storage_duration=2m - -docker_only - -containerd=/var/run/docker/containerd/containerd.sock logging: driver: "json-file" options: max-size: "100m" max-file: "3" storagebox_exporter: image: ghcr.io/crstian19/prometheus-storagebox-exporter:0.5 container_name: storagebox_exporter restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" networks: - prometheus environment: HETZNER_TOKEN: "${HETZNER_TOKEN}" LISTEN_ADDRESS: ":9509" METRICS_PATH: "/metrics" LOG_LEVEL: "info" logging: driver: "json-file" options: max-size: "100m" max-file: "3" volumes: prometheus-data: