Ctrl K
ComunidadGuías…

docker-compose-with-otel.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
services:
  loki:
    image: grafana/loki:latest
    profiles:
      - otel

    ports:
      - "3100:3100"
    command: ["-config.file=/etc/loki/local-config.yaml"]

  tempo:
    image: grafana/tempo:latest
    profiles:
      - otel
    command: ["-config.file=/etc/tempo.yaml"]
    volumes:
      - ./otel-shared/tempo.yaml:/etc/tempo.yaml
      - ./tempo-data:/tmp/tempo
    ports:
      - "14268:14268" # jaeger ingest
      - "3200:3200" # tempo
      - "9095:9095" # tempo grpc
      - "4317:4317" # otlp grpc
      - "4318:4318" # otlp http
      - "9411:9411" # zipkin

  prometheus:
    image: prom/prometheus:latest
    profiles:
      - otel

    command:
      - --config.file=/etc/prometheus.yaml
      - --web.enable-remote-write-receiver
      - --enable-feature=exemplar-storage
    volumes:
      - ./otel-shared/prometheus.yaml:/etc/prometheus.yaml
    ports:
      - "9090:9090"

  alertmanager:
    image: prom/alertmanager
    profiles:
      - otel

    container_name: alertmanager
    volumes:
      - ./otel-shared/alertmanager.yml:/etc/alertmanager/alertmanager.yml
    command:
      - "--config.file=/etc/alertmanager/alertmanager.yml"

  grafana:
    image: grafana/grafana:10.0.3
    profiles:
      - otel

    depends_on:
      - loki
      - tempo
      - prometheus
    volumes:
      - ./otel-shared/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
    environment:
      - GF_AUTH_ANONYMOUS_ENABLED=true
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
      - GF_AUTH_DISABLE_LOGIN_FORM=false
      - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
    ports:
      - "3001:3000"

  # OpenTelemetry collector. Make sure you set USERID and GOOGLE_APPLICATION_CREDENTIALS
  # environment variables for your container to authenticate correctly
  otel-collector:
    image: otel/opentelemetry-collector-contrib:0.81.0
    profiles:
      - otel

    ports:
      - "9100:9100"
    depends_on:
      - tempo
      - loki
    volumes:
      - ./otel-shared/otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml

  keep-frontend-dev:
    extends:
      file: docker-compose.common.yml
      service: keep-frontend-common
    environment:
      - API_URL=http://keep-backend-dev:8080
    build:
      dockerfile: docker/Dockerfile.dev.ui
    volumes:
      - ./keep-ui:/app
      - /app/node_modules
      - /app/.next
    depends_on:
      - keep-backend-dev

  keep-backend-dev:
    extends:
      file: docker-compose.common.yml
      service: keep-backend-common
    build:
      dockerfile: docker/Dockerfile.dev.api
    environment:
      - OTEL_SERVICE_NAME=keephq
      - OTLP_ENDPOINT=http://otel-collector:4317
      - METRIC_OTEL_ENABLED=true
    volumes:
      - .:/app
      - ./state:/state

  keep-websocket-server:
    extends:
      file: docker-compose.common.yml
      service: keep-websocket-server-common

  log_collector:
    image: timberio/vector:0.32.2-debian
    profiles:
      - otel
    volumes:
      - ./otel-shared/vector.toml:/etc/vector/vector.toml
      - /var/run/docker.sock:/var/run/docker.sock

volumes:
  certs:
    driver: local
  esdata01:
    driver: local
  kibanadata:
    driver: local

  db_data: