Alejandro Gutiérrez 9e683eba22 Replace polling with real-time SSE stream and eliminate Python API dependency
- Add single /api/events SSE endpoint replacing 5 separate polling intervals
- Query Prometheus directly for system stats (replaces Python API on port 9876)
- Query Coolify PostgreSQL directly for deployments (replaces SSH/tinker approach)
- Add EventManager singleton for server-side polling + client broadcast
- Add useEventStream hook with exponential backoff reconnection
- Add live deployment log streaming via SSE for in-progress builds
- Add redeploy button and live duration counter in deployments table
- Add SSE connection indicator in header (green=live, red=offline)
- Externalize all hardcoded 192.168.1.3 references to env vars via config.ts
- Reduce API route code by ~400 lines through shared library modules

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:43:41 +01:00
2026-02-01 22:52:38 +00:00
2026-02-01 22:52:38 +00:00
2026-02-01 22:52:38 +00:00
2026-02-01 22:52:38 +00:00
2026-02-01 22:52:38 +00:00

NUC Portal

Self-hosted services dashboard for the NUC server at 192.168.1.3.

Features

  • Service cards with live health status indicators
  • Bookmark links to external developer tools
  • Dark/light mode toggle
  • Search filtering across services and bookmarks
  • Category-based organization

Development

npm install
npm run dev

Open http://localhost:3000

Deployment

Deployed via Coolify with Nixpacks.

Description
Self-hosted services dashboard
Readme 237 KiB
Languages
TypeScript 99.1%
CSS 0.7%
JavaScript 0.2%