Real server stats via docker socket

This commit is contained in:
Neo
2026-02-19 11:44:56 +00:00
parent 25c749b6ee
commit 457ad7234b

View File

@@ -82,15 +82,36 @@ export async function GET(request: Request) {
return NextResponse.json(memories);
}
// SERVER STATUS
// SERVER STATUS - real data from docker
if (type === 'server') {
try {
const { execSync } = require('child_process');
// Get container count
const containers = execSync('docker ps --format "{{.Names}}" | wc -l', { cwd: '/' }).toString().trim();
// Get disk usage
const disk = execSync('df -h / | tail -1 | awk \'{print $5}\'', { cwd: '/' }).toString().trim();
// Get RAM usage
const ram = execSync('free -h | grep Mem | awk \'{print $3 "/" $2}\'', { cwd: '/' }).toString().trim();
// Get load
const load = execSync('uptime | awk -F\'load average:\' \'{print $2}\'', { cwd: '/' }).toString().trim();
// Get uptime
const uptime = execSync('uptime -p', { cwd: '/' }).toString().trim();
return NextResponse.json({
cpu: 'Load: 2.4, 1.8, 1.2',
ram: '42GB / 62GB used',
disk: '72% used',
uptime: '52 days',
containers: '62 running'
containers: `${containers} running`,
disk: disk,
ram: ram,
load: load.trim(),
uptime: uptime
});
} catch (e: any) {
return NextResponse.json({ error: e.message }, { status: 500 });
}
}
// BACKUP STATUS