Live NVIDIA GPU metrics for ServerKit —
utilization, VRAM, temperature, power draw, fan speed, driver version, and the
running GPU compute processes (with best-effort container resolution). Adds a
GPU Monitor page (/gpu) to the panel; the sidebar entry only appears on
hosts where nvidia-smi is available.
Installs from the ServerKit Marketplace (registry: serverkit-extensions).
plugin.json # extension manifest (routes, nav, SDK + panel gates)
backend/ # Flask blueprint + nvidia-smi parsing service
frontend/ # runtime-ESM bundle source (vite lib build)
runtime-entry.jsx # entry: injects inline CSS, exports GpuMonitorPage
components/ # GpuMonitor page + local EmptyState/Button stand-ins
styles/gpu.css # page styles (host CSS custom properties)
scripts/build-zip.* # release packaging (dist/serverkit-gpu-<version>.zip)
tests/ # backend tests (run from a panel checkout — see tests/README.md)
The frontend is a runtime-ESM extension: it builds to a single
frontend/dist/index.mjs that the panel blob-imports at runtime — no panel
rebuild needed. React, react-router and serverkit-sdk are externalized and
resolved to the panel's own singletons via its import map; everything else
(lucide-react icons) is bundled.
cd frontend
npm install
npm run build # writes frontend/dist/index.mjsLoad it into a dev panel with Marketplace → Plugins → Upload Zip, or:
./scripts/build-zip.sh # or scripts/build-zip.ps1 on Windows
# → dist/serverkit-gpu-<version>.zipFor API details and the contribution model see docs/EXTENSIONS.md in the main repo.
Fully automated — no manual zips:
- Bump
versioninplugin.jsonand push tomain(or push avX.Y.Ztag). - The Create Release workflow builds the bundle, zips it, creates the GitHub release with the zip attached, then downloads the published asset and upserts this extension's entry (version, URL, sha256) in serverkit-extensions.
One-time setup: add a REGISTRY_TOKEN secret (fine-grained PAT with
contents:write on serverkit-extensions) so the registry sync can push.
Without it the release still ships; only the registry update skips.
MIT — see LICENSE.