mirror of
https://github.com/mblanke/Dashboard.git
synced 2026-03-01 20:10:20 -05:00
feat: add server stats, GPU stats, container CPU/memory display
- Add /api/servers endpoint querying Prometheus for CPU, RAM, disk, uptime, load - Add /api/gpu endpoint for NVIDIA Jetson GPU utilization, temp, power - Add ServerStatsWidget with animated bars for Atlas, Wile, RoadRunner - Add GPUStatsWidget with GPU util, memory, temp color-coding, power draw - Update ContainerGroup to show CPU bar and memory for running containers - Fix docker-compose.yml: traefik network external: true - Fix getTraefikUrl to scan all router labels (not just 'https')
This commit is contained in:
@@ -1,40 +1,64 @@
|
||||
export interface Container {
|
||||
id: string;
|
||||
name: string;
|
||||
image: string;
|
||||
state: string;
|
||||
status: string;
|
||||
created: number;
|
||||
ports: Port[];
|
||||
labels: Record<string, string>;
|
||||
}
|
||||
|
||||
export interface Port {
|
||||
ip?: string;
|
||||
privatePort: number;
|
||||
publicPort?: number;
|
||||
type: string;
|
||||
}
|
||||
|
||||
export interface UnifiDevice {
|
||||
name: string;
|
||||
mac: string;
|
||||
ip: string;
|
||||
model: string;
|
||||
state: number;
|
||||
uptime: number;
|
||||
}
|
||||
|
||||
export interface SynologyStorage {
|
||||
volume: string;
|
||||
size: number;
|
||||
used: number;
|
||||
available: number;
|
||||
percentUsed: number;
|
||||
}
|
||||
|
||||
export interface GrafanaDashboard {
|
||||
uid: string;
|
||||
title: string;
|
||||
url: string;
|
||||
}
|
||||
export interface Container {
|
||||
id: string;
|
||||
name: string;
|
||||
image: string;
|
||||
state: string;
|
||||
status: string;
|
||||
created: number;
|
||||
ports: Port[];
|
||||
labels: Record<string, string>;
|
||||
cpu?: string;
|
||||
memory?: string;
|
||||
stats?: string;
|
||||
}
|
||||
|
||||
export interface Port {
|
||||
ip?: string;
|
||||
privatePort: number;
|
||||
publicPort?: number;
|
||||
type: string;
|
||||
}
|
||||
|
||||
export interface UnifiDevice {
|
||||
name: string;
|
||||
mac: string;
|
||||
ip: string;
|
||||
model: string;
|
||||
state: number;
|
||||
uptime: number;
|
||||
}
|
||||
|
||||
export interface SynologyStorage {
|
||||
volume: string;
|
||||
size: number;
|
||||
used: number;
|
||||
available: number;
|
||||
percentUsed: number;
|
||||
}
|
||||
|
||||
export interface GrafanaDashboard {
|
||||
uid: string;
|
||||
title: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
export interface ServerStats {
|
||||
name: string;
|
||||
role: string;
|
||||
ip: string;
|
||||
cpu: number;
|
||||
memoryPercent: number;
|
||||
memoryUsedGB: number;
|
||||
memoryTotalGB: number;
|
||||
diskPercent: number;
|
||||
uptimeSeconds: number;
|
||||
load1: number;
|
||||
}
|
||||
|
||||
export interface GPUStats {
|
||||
name: string;
|
||||
gpu_util: number;
|
||||
mem_util: number;
|
||||
temp: number;
|
||||
power_watts: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user