$ cd ./projects/watch/
← cd ../ (retour aux projets)

$ cat watch.md

Watch

Dashboard de monitoring minimaliste pour serveur auto-hébergé : métriques système temps réel (CPU, température, RAM, disque), stats Docker par projet Compose, historique 24 h, PWA. Accès privé, derrière une connexion.

date: 23/06/2026

#monitoring #dashboard #mcp

stack: Next.js · React · TypeScript · systeminformation · Docker · GitHub Actions

$ cat README.md

Dashboard minimaliste pour surveiller mon serveur auto-hébergé en temps réel, avec une architecture volontairement réduite à un seul service.

Métriques système

  • Temps réel, CPU %, température SoC, RAM, remplissage disque, en jauges colorées.
  • Sparklines, historique visuel et prévision de saturation du disque par régression linéaire.
  • Historique 1 h / 6 h / 24 h, depuis des buffers mémoire côté serveur.

Docker & hôte

  • Stats Docker, regroupées par projet Compose (repliables), I/O réseau/disque.
  • Hôte, load average, processus hôte (hors Docker).
  • Matériel, throttling et tension.

Architecture & PWA

  • Monolithique, un seul service Next.js (App Router) qui combine l’UI et l’API de métriques, pas de backend séparé.
  • PWA, service worker network-first (shell hors-ligne, API jamais cachée), mode mur/kiosk et préférences persistées.

Auto-hébergé : la CI GitHub Actions construit l’image puis la déploie. ⚠️ L’API expose des infos système sensibles → servie derrière authentification, jamais exposée brute à Internet.

Minimalist dashboard to monitor my self-hosted server in real time, with an architecture deliberately reduced to a single service.

System metrics

  • Real-time, CPU %, SoC temperature, RAM, disk usage, in color-coded gauges.
  • Sparklines, visual history and disk saturation forecast via linear regression.
  • 1 h / 6 h / 24 h history, from server-side memory buffers.

Docker & host

  • Docker stats, grouped by Compose project (collapsible), network/disk I/O.
  • Host, load average, host processes (outside Docker).
  • Hardware, throttling and voltage.

Architecture & PWA

  • Monolithic, a single Next.js service (App Router) combining the UI and the metrics API, no separate backend.
  • PWA, network-first service worker (offline shell, API never cached), wall/kiosk mode and persisted preferences.

Self-hosted: the GitHub Actions CI builds the image then deploys it. ⚠️ The API exposes sensitive system info → served behind authentication, never exposed raw to the Internet.