- docker-compose.yml used "websecure" as the entrypoint name; the
actual falcon_network convention (confirmed against the real
traefik/compose.yml) is "web-secure". Also switched the networks
block from a hardcoded falcon_network to the same
compose_network-aliased ${NETWORK_NAME} pattern already used in the
Traefik labels, instead of only half-respecting that variable.
- config.yml gave the Traefik widget an href, but this deployment runs
with --api.dashboard=false - there's no dashboard to link to.
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.