name: observability services: prometheus: image: prom/prometheus:v3.2.1 container_name: prometheus restart: unless-stopped ports: - "9090:9090" extra_hosts: - "host.docker.internal:host-gateway" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro - prometheus_data:/prometheus command: - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus - --storage.tsdb.retention.time=15d grafana: image: grafana/grafana:11.5.2 container_name: grafana restart: unless-stopped ports: - "3001:3000" environment: GF_SECURITY_ADMIN_USER: admin GF_SECURITY_ADMIN_PASSWORD: Gf-gpu-2026 GF_USERS_ALLOW_SIGN_UP: "false" GF_SERVER_ROOT_URL: http://10.0.1.47:3001 volumes: - grafana_data:/var/lib/grafana - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro - ./grafana/dashboards:/var/lib/grafana/dashboards:ro dcgm-exporter: image: nvidia/dcgm-exporter:3.3.8-3.6.0-ubuntu22.04 container_name: dcgm-exporter restart: unless-stopped cap_add: - SYS_ADMIN ports: - "9400:9400" environment: NVIDIA_VISIBLE_DEVICES: all NVIDIA_DRIVER_CAPABILITIES: compute,utility DCGM_EXPORTER_INTERVAL: "5000" deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] volumes: prometheus_data: grafana_data: