# Observability stack — Grafana LGTM + GlitchTip # # Requires the main stack to be running first: # docker compose up -d # creates archiv-net # docker compose -f docker-compose.observability.yml up -d # # To validate without starting: # docker compose -f docker-compose.observability.yml config # No services defined yet — added in subsequent issues: # # --- Metrics: Prometheus --- # prometheus: (see issue #573) # # --- Logs: Loki + Promtail --- # loki: (see issue #574) # promtail: (see issue #575) # # --- Traces: Tempo --- # tempo: (see future issue) # # --- Dashboards: Grafana --- # grafana: (see future issue) # # --- Error Tracking: GlitchTip --- # glitchtip: (see future issue) services: {} networks: # Shared network created by the main docker-compose.yml. # The observability stack joins as a peer so Prometheus can scrape # archive-backend by container name. The observability stack must NOT # attempt to create this network — it will fail with a clear error if # the main stack is not running yet. archiv-net: external: true # Internal network for observability-service-to-service traffic # (e.g. Grafana → Prometheus, Grafana → Loki, Grafana → Tempo). obs-net: driver: bridge volumes: prometheus_data: loki_data: tempo_data: grafana_data: glitchtip_data: