services: collector: image: otel/opentelemetry-collector-contrib:0.136.0 command: ["--config=/etc/otelcol/config.yaml"] volumes: - ./examples/otel-collector.yaml:/etc/otelcol/config.yaml:ro ports: - "4317:4317" # OTLP gRPC in - "8889:8889" # Prometheus scrape out newt: build: . image: newt:dev env_file: - .env environment: OTEL_SERVICE_NAME: newt NEWT_METRICS_PROMETHEUS_ENABLED: "true" NEWT_METRICS_OTLP_ENABLED: "true" OTEL_EXPORTER_OTLP_ENDPOINT: "collector:4317" OTEL_EXPORTER_OTLP_INSECURE: "true" OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "cumulative" NEWT_ADMIN_ADDR: ":2112" # Base NEWT configuration PANGOLIN_ENDPOINT: ${PANGOLIN_ENDPOINT} NEWT_ID: ${NEWT_ID} NEWT_SECRET: ${NEWT_SECRET} LOG_LEVEL: "DEBUG" ports: - "2112:2112" depends_on: - collector prometheus: image: prom/prometheus:v3.6.0 volumes: - ./examples/prometheus.yml:/etc/prometheus/prometheus.yml:ro ports: - "9090:9090" grafana: image: grafana/grafana:latest container_name: newt-metrics-grafana restart: unless-stopped environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=admin ports: - "3005:3000" depends_on: - prometheus volumes: - ./examples/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro - ./examples/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro - ./examples/grafana/dashboards:/var/lib/grafana/dashboards:ro