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.
65 lines
1.4 KiB
YAML
65 lines
1.4 KiB
YAML
settings:
|
|
title: PulseNode
|
|
|
|
theme:
|
|
mode: dark
|
|
variables:
|
|
--pn-accent: "#38bdf8"
|
|
|
|
groups:
|
|
- name: Core Infra
|
|
widgets:
|
|
- type: bookmark
|
|
name: Traefik
|
|
href: https://${TRAEFIK_HOST_TRAEFIK}
|
|
description: Reverse proxy dashboard
|
|
|
|
- type: bookmark
|
|
name: Coolify
|
|
href: https://${TRAEFIK_HOST_COOLIFY}
|
|
description: Deployment platform
|
|
|
|
- name: Dev Tools
|
|
widgets:
|
|
- type: bookmark
|
|
name: Gitea
|
|
href: https://${TRAEFIK_HOST_GITEA}
|
|
description: Git hosting & CI
|
|
|
|
- type: bookmark
|
|
name: Code Server
|
|
href: https://${TRAEFIK_HOST_CODE}
|
|
description: Browser IDE
|
|
|
|
- name: Apps
|
|
widgets:
|
|
- type: bookmark
|
|
name: Immich
|
|
href: https://${TRAEFIK_HOST_IMMICH}
|
|
description: Photo & video library
|
|
|
|
- type: bookmark
|
|
name: n8n
|
|
href: https://${TRAEFIK_HOST_N8N}
|
|
description: Workflow automation
|
|
|
|
- type: bookmark
|
|
name: Passbolt
|
|
href: https://${TRAEFIK_HOST_PASSBOLT}
|
|
description: Password manager
|
|
|
|
- type: bookmark
|
|
name: Umami
|
|
href: https://${TRAEFIK_HOST_UMAMI}
|
|
description: Web analytics
|
|
|
|
- type: bookmark
|
|
name: Headscale
|
|
href: https://${TRAEFIK_HOST_HEADSCALE}
|
|
description: VPN mesh control
|
|
|
|
- name: Search
|
|
widgets:
|
|
- type: search
|
|
engines: [duckduckgo, google]
|