version: "3.8" # ============================================================ # CustomerCore Local Observability Stack Add-on # Start: docker compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d # Stop: docker compose -f docker-compose.yml -f docker-compose.monitoring.yml down # Grafana: http://localhost:3000 (No login required - Admin access) # Prometheus: http://localhost:9090 # ============================================================ services: prometheus: image: prom/prometheus:latest container_name: customercore_prometheus volumes: - ./infra/monitoring/prometheus.yml:/etc/prometheus/prometheus.yml command: - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus - --web.console.libraries=/usr/share/prometheus/console_libraries - --web.console.templates=/usr/share/prometheus/consoles networks: - customercore ports: - "9090:9090" extra_hosts: - "host.docker.internal:host-gateway" grafana: image: grafana/grafana-oss:latest container_name: customercore_grafana environment: - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org. - GF_SECURITY_ALLOW_EMBEDDING=true volumes: - ./infra/monitoring/grafana-datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml - ./infra/monitoring/grafana-dashboards.yml:/etc/grafana/provisioning/dashboards/dashboards.yml - ./infra/monitoring/customercore-dashboard.json:/etc/grafana/provisioning/dashboards/customercore-dashboard.json networks: - customercore ports: - "3001:3000" depends_on: - prometheus