Add Homepage dashboard + dual-export OpenCode traces
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>
This commit is contained in:
28
pyinfra/framework/compose/homepage.yml
Normal file
28
pyinfra/framework/compose/homepage.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
# Homepage — service launcher + status dashboard for the localgenai stack.
|
||||
# https://gethomepage.dev
|
||||
#
|
||||
# Single tile per service, with live widgets (loaded models, container
|
||||
# state, request rates) where the upstream supports it. Reads its config
|
||||
# from /srv/docker/homepage/config; pyinfra ships the initial files there
|
||||
# and leaves them alone afterwards (edit them directly to add bookmarks,
|
||||
# tweak the layout, etc).
|
||||
#
|
||||
# Bring-up: `docker compose up -d`. UI at http://framework:7575.
|
||||
services:
|
||||
homepage:
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
# 7575 picked to avoid the soup of 30xx ports already in use
|
||||
# (OpenWebUI 3000, OpenLIT 3001, OpenHands 3030).
|
||||
- "7575:3000"
|
||||
volumes:
|
||||
- /srv/docker/homepage/config:/app/config
|
||||
# Read-only docker socket so homepage can render container status
|
||||
# (running / stopped, CPU, memory) on each tile.
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
environment:
|
||||
# Required when accessed from a host other than localhost (i.e.
|
||||
# over Tailscale by hostname). Comma-separated list; * matches all.
|
||||
HOMEPAGE_ALLOWED_HOSTS: "framework:7575,framework,localhost:7575,localhost,*"
|
||||
Reference in New Issue
Block a user