services: # --- ORCHESTRATION (The Brain) --- komodo-core: image: ghcr.io/moghtech/komodo-core:2 container_name: komodo-core restart: always ports: - "9120:9120" environment: - KOMODO_DATABASE_ADDRESS=l100.109.59.41:27017 volumes: - ./komodo:/config - /var/run/docker.sock:/var/run/docker.sock networks: - monitor-net # --- MONITORING (The Eyes) --- prometheus: image: prom/prometheus:latest container_name: prometheus restart: always ports: - "9090:9090" volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' networks: - monitor-net grafana: image: grafana/grafana:latest container_name: grafana restart: always ports: - "3001:3000" volumes: - grafana_data:/var/lib/grafana networks: - monitor-net # --- EXPORTERS (The Sensors) --- node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: always ports: - "9110:9100" # Mapped to 9110 to avoid any host conflicts networks: - monitor-net cadvisor: image: gcr.io/cadvisor/cadvisor:latest container_name: cadvisor restart: always ports: - "8080:8080" volumes: - /:/rootfs:ro - /var/run:/var/run:ro - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /dev/disk/:/dev/disk:ro networks: - monitor-net networks: monitor-net: driver: bridge volumes: prometheus_data: grafana_data: