x-defaults: &defaults restart: unless-stopped logging: driver: json-file options: max-size: 100m max-file: "3" services: tempo: <<: *defaults image: ${GLOBAL_REGISTRY:-}grafana/tempo:${TEMPO_VERSION:-2.7.2} ports: - "${TEMPO_HTTP_PORT_OVERRIDE:-3200}:3200" # HTTP - "${TEMPO_GRPC_PORT_OVERRIDE:-9095}:9095" # gRPC - "${TEMPO_OTLP_HTTP_PORT_OVERRIDE:-4318}:4318" # OTLP HTTP - "${TEMPO_OTLP_GRPC_PORT_OVERRIDE:-4317}:4317" # OTLP gRPC - "${TEMPO_ZIPKIN_PORT_OVERRIDE:-9411}:9411" # Zipkin - "${TEMPO_JAEGER_THRIFT_HTTP_PORT_OVERRIDE:-14268}:14268" # Jaeger Thrift HTTP - "${TEMPO_JAEGER_GRPC_PORT_OVERRIDE:-14250}:14250" # Jaeger gRPC volumes: - tempo_data:/tmp/tempo - ./tempo-config.yaml:/etc/tempo/tempo.yaml:ro environment: - TZ=${TZ:-UTC} command: -config.file=/etc/tempo/tempo.yaml user: "10001:10001" # Tempo user deploy: resources: limits: cpus: ${TEMPO_CPU_LIMIT:-1.0} memory: ${TEMPO_MEMORY_LIMIT:-1G} reservations: cpus: ${TEMPO_CPU_RESERVATION:-0.25} memory: ${TEMPO_MEMORY_RESERVATION:-256M} healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3200/ready"] interval: 30s timeout: 10s retries: 3 start_period: 30s volumes: tempo_data: