# OwnCord OTel dev overlay — Jaeger all-in-one tracing + Prometheus scrape target. # # Usage: # make otel-up # starts Jaeger + Prometheus in the background # make otel-down # stops and removes the containers # # Then build and run the server with OTel enabled: # go build -tags otel . # OWNCORD_TELEMETRY_OTLP_ENDPOINT=localhost:4317 ./owncord-server # # Jaeger UI: http://localhost:16686 # Prometheus UI: http://localhost:9090 # OwnCord metrics (when server is running): http://localhost:8443/metrics services: jaeger: image: jaegertracing/all-in-one:latest restart: unless-stopped environment: COLLECTOR_OTLP_ENABLED: "true" ports: - "16686:16686" # Jaeger UI - "4317:4317" # OTLP gRPC (used by the server's tracer exporter) - "4318:4318" # OTLP HTTP (alternative endpoint) networks: - otel-net prometheus: image: prom/prometheus:latest restart: unless-stopped command: - "--config.file=/etc/prometheus/prometheus.yml" - "--storage.tsdb.retention.time=1h" # dev-only short retention volumes: - ./prometheus.dev.yml:/etc/prometheus/prometheus.yml:ro ports: - "9090:9090" networks: - otel-net networks: otel-net: driver: bridge