docker-compose-with-otel.yaml
Rama main · réplica de lectura del repositorio original.
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: