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); return NextResponse.json(memories);
} }
// SERVER STATUS // SERVER STATUS - real data from docker
if (type === 'server') { 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({ return NextResponse.json({
cpu: 'Load: 2.4, 1.8, 1.2', containers: `${containers} running`,
ram: '42GB / 62GB used', disk: disk,
disk: '72% used', ram: ram,
uptime: '52 days', load: load.trim(),
containers: '62 running' uptime: uptime
}); });
} catch (e: any) {
return NextResponse.json({ error: e.message }, { status: 500 });
}
} }
// BACKUP STATUS // BACKUP STATUS