Was bound to 127.0.0.1:3030 — overcautious on a Tailscale-only box
where Phoenix/Beszel/OpenWebUI are all reached the same way. Updated
the homepage tile description and added a security note in the README
for the case where the host ever leaves the tailnet.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Homepage as the front door: single page at framework:7575 with one tile
per service, live widgets where the upstream supports it (Ollama loaded
models, container state via docker.sock, etc.), bookmarks for reference
docs. Config files are pyinfra-managed — source of truth lives in
compose/homepage/, sync by editing there and re-running ./run.sh.
OpenCode plugin now dual-exports spans to Phoenix and OpenLIT in
parallel. Phoenix remains the per-trace waterfall view; OpenLIT picks
up the same data for fleet-level metrics. Each destination has its own
batch processor so a hiccup at one doesn't block the other.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
One-page orientation: topology diagram, repo layout, service-port table,
quick-start, and the rationale notes that get glossed over in the
sub-READMEs (bandwidth ceiling, AMD APU monitoring gap, two-layer
observability).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>