Commit Graph
2 Commits
Author SHA1 Message Date
valknar 1e7bfd8250 feat: dogfood config.yml against the real stacks repo
Replaces the placeholder bookmark links with real docker/database
widgets for every container in the 10 Projekte/stacks compose files
(traefik, coolify+redis+db, gitea+runner+db, code, immich+ml+redis+db,
n8n+db, passbolt+db, umami+db, headscale, mailpit) - the actual
"widgets for all services in Projekte/stacks" deliverable, not just an
example. Also turns on label-based discovery against falcon_network as
a safety net for anything added later without a config.yml update;
manual widgets here still take precedence for anything already listed.

Verified the config validates and renders with no schema errors, and
that a widget pointed at a container that doesn't exist in this
environment fails gracefully (a clean error result over the socket)
rather than crashing - expected here since none of the real stacks run
in this sandbox; wiring against the live falcon_network happens at
actual deploy time.
2026-08-17 14:42:25 +02:00
valknar 80c2362ac2 feat: scaffold PulseNode dashboard (M1)
Next.js 16 + TypeScript + Tailwind v4 app with a YAML-driven config
system: schema validation (zod), .env interpolation, and a widget
registry rendering bookmark/search/group widgets. CSS custom
properties (--pn-*) drive theming and are overridable from
config.yml's theme.variables. Config load errors surface as a
readable error page instead of crashing the app.

Hot reload, docker/system/http collectors, and the WebSocket push
layer land in later milestones per the approved plan.
2026-08-17 13:49:55 +02:00