# https://github.com/grafana/tempo/blob/main/example/docker-compose/shared/tempo.yaml
services:

  # Tempo runs as user 10001, and docker compose creates the volume as root.
  # As such, we need to chown the volume in order for Tempo to start correctly.
  init:
    image: &tempoImage grafana/tempo:latest
    user: root
    entrypoint:
      - "chown"
      - "10001:10001"
      - "/var/tempo"
    volumes:
      - tempo-data:/var/tempo

  tempo:
    image: *tempoImage
    command: [ "-server.http-listen-port=3200 --storage.trace.backend=local --storage.trace.local.path=/var/tempo/blocks --storage.trace.wal.path=/var/tempo/wal" ]
    volumes:
      - tempo-data:/var/tempo
    network_mode: host # so all the other containers can send to it easily
    depends_on:
      - init