94 lines
3.2 KiB
YAML
94 lines
3.2 KiB
YAML
services:
|
|
lgtm:
|
|
image: grafana/otel-lgtm:${OTEL_LGTM_VERSION:-latest}
|
|
restart: unless-stopped
|
|
environment:
|
|
# Grafana admin credentials
|
|
GF_SECURITY_ADMIN_USER: ${GF_ADMIN_USER:-admin}
|
|
GF_SECURITY_ADMIN_PASSWORD: ${GF_ADMIN_PASSWORD:-admin}
|
|
|
|
# Enable verbose container logging for specific components
|
|
ENABLE_LOGS_GRAFANA: ${ENABLE_LOGS_GRAFANA:-false}
|
|
ENABLE_LOGS_LOKI: ${ENABLE_LOGS_LOKI:-false}
|
|
ENABLE_LOGS_PROMETHEUS: ${ENABLE_LOGS_PROMETHEUS:-false}
|
|
ENABLE_LOGS_TEMPO: ${ENABLE_LOGS_TEMPO:-false}
|
|
ENABLE_LOGS_PYROSCOPE: ${ENABLE_LOGS_PYROSCOPE:-false}
|
|
ENABLE_LOGS_OTELCOL: ${ENABLE_LOGS_OTELCOL:-false}
|
|
ENABLE_LOGS_ALL: ${ENABLE_LOGS_ALL:-false}
|
|
|
|
# eBPF auto-instrumentation (OBI)
|
|
# Requires Linux kernel 5.8+ with BTF support
|
|
ENABLE_OBI: ${ENABLE_OBI:-false}
|
|
|
|
# Forward telemetry to an external OTLP endpoint (e.g., Grafana Cloud)
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: ${OTEL_EXPORTER_OTLP_ENDPOINT:-}
|
|
OTEL_EXPORTER_OTLP_HEADERS: ${OTEL_EXPORTER_OTLP_HEADERS:-}
|
|
|
|
# Enable Tempo MCP server for AI tool integration
|
|
TEMPO_EXTRA_ARGS: ${TEMPO_EXTRA_ARGS:-}
|
|
|
|
# Extra CLI args for individual backends (optional)
|
|
PROMETHEUS_EXTRA_ARGS: ${PROMETHEUS_EXTRA_ARGS:-}
|
|
LOKI_EXTRA_ARGS: ${LOKI_EXTRA_ARGS:-}
|
|
TEMPO_EXTRA_ARGS_V2: ${TEMPO_EXTRA_ARGS_V2:-}
|
|
PYROSCOPE_EXTRA_ARGS: ${PYROSCOPE_EXTRA_ARGS:-}
|
|
OTELCOL_EXTRA_ARGS: ${OTELCOL_EXTRA_ARGS:-}
|
|
|
|
ports:
|
|
# Grafana dashboard
|
|
- ${EXPOSE_GRAFANA_PORT:-3000}:3000
|
|
# OpenTelemetry Collector - OTLP gRPC
|
|
- ${EXPOSE_OTLP_GRPC_PORT:-4317}:4317
|
|
# OpenTelemetry Collector - OTLP HTTP
|
|
- ${EXPOSE_OTLP_HTTP_PORT:-4318}:4318
|
|
# Prometheus
|
|
- ${EXPOSE_PROMETHEUS_PORT:-9090}:9090
|
|
# Tempo HTTP query endpoint
|
|
- ${EXPOSE_TEMPO_HTTP_PORT:-3200}:3200
|
|
# Pyroscope
|
|
- ${EXPOSE_PYROSCOPE_PORT:-4040}:4040
|
|
|
|
volumes:
|
|
# Persistent storage for all backend data
|
|
- ./lgtm-data:/data
|
|
|
|
# If OBI (eBPF) is enabled, these capabilities are needed
|
|
# Uncomment the cap_add and network_mode when ENABLE_OBI=true
|
|
# cap_add:
|
|
# - SYS_ADMIN
|
|
# - BPF
|
|
# network_mode: host
|
|
# pid: host
|
|
|
|
networks:
|
|
- lgtm
|
|
- pipeline
|
|
- swag
|
|
|
|
# healthcheck:
|
|
# test:
|
|
# [
|
|
# "CMD",
|
|
# "wget",
|
|
# "--no-verbose",
|
|
# "--tries=1",
|
|
# "--spider",
|
|
# "http://localhost:3000/api/health",
|
|
# ]
|
|
# interval: 15s
|
|
# timeout: 5s
|
|
# retries: 10
|
|
# start_period: 30s
|
|
|
|
networks:
|
|
lgtm:
|
|
name: lgtm
|
|
driver: bridge
|
|
pipeline:
|
|
name: pipeline
|
|
external: true
|
|
swag:
|
|
name: swag
|
|
external: true
|
|
|
|
volumes: {}
|