Delete functions/systeminformation.js

This commit is contained in:
lllllllillllllillll 2023-11-01 00:56:49 -07:00 committed by GitHub
parent 9287c643ca
commit 94cd1293fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,150 +0,0 @@
const { currentLoad, mem, networkStats, fsSize, dockerContainerStats } = require('systeminformation');
var Docker = require('dockerode');
var docker = new Docker({ socketPath: '/var/run/docker.sock' });
const { dashCard } = require('../components/dashCard');
module.exports.serverStats = async function () {
const cpuUsage = await currentLoad();
const ramUsage = await mem();
const netUsage = await networkStats();
const diskUsage = await fsSize();
const info = {
cpu: Math.round(cpuUsage.currentLoad),
ram: Math.round((ramUsage.active / ramUsage.total) * 100),
tx: netUsage[0].tx_bytes,
rx: netUsage[0].rx_bytes,
disk: diskUsage[0].use,
};
return info;
}
module.exports.containerList = async function () {
let card_list = '';
const data = await docker.listContainers({ all: true });
for (const container of data) {
let imageVersion = container.Image.split('/');
let service = imageVersion[imageVersion.length - 1].split(':')[0];
let containerId = docker.getContainer(container.Id);
let containerInfo = await containerId.inspect();
let open_ports = [];
let external_port = 0;
let internal_port = 0;
for (const [key, value] of Object.entries(containerInfo.HostConfig.PortBindings)) {
open_ports.push(`${value[0].HostPort}`);
external_port = value[0].HostPort;
internal_port = key;
if ((external_port == undefined) || (internal_port == undefined)) {
external_port = 0;
internal_port = 0;
}
}
let volumes = [];
for (const [key, value] of Object.entries(containerInfo.Mounts)) {
volumes.push(`${value.Source}: ${value.Destination}: ${value.RW}`);
}
let environment_variables = [];
for (const [key, value] of Object.entries(containerInfo.Config.Env)) {
environment_variables.push(`${key}: ${value}`);
}
let labels = [];
for (const [key, value] of Object.entries(containerInfo.Config.Labels)) {
labels.push(`${key}: ${value}`);
}
let container_info = {
name: container.Names[0].slice(1),
service: service,
id: container.Id,
state: container.State,
image: container.Image,
external_port: external_port,
internal_port: internal_port
}
let dockerCard = dashCard(container_info);
card_list += dockerCard;
}
return card_list;
}
module.exports.containerStats = async function () {
let container_stats = [];
const data = await docker.listContainers({ all: true });
for (const container of data) {
const stats = await dockerContainerStats(container.Id);
let container_stat = {
name: container.Names[0].slice(1),
cpu: Math.round(stats[0].cpuPercent),
ram: Math.round(stats[0].memPercent)
}
//push stats to an array
container_stats.push(container_stat);
}
return container_stats;
}
module.exports.containerAction = async function (data) {
let { user, role, action, container, state } = data;
console.log(`${user} wants to: ${action} ${container}`);
if (role == 'admin') {
var containerName = docker.getContainer(container);
if ((action == 'start') && (state == 'stopped')) {
containerName.start();
} else if ((action == 'start') && (state == 'paused')) {
containerName.unpause();
} else if ((action == 'stop') && (state != 'stopped')) {
containerName.stop();
} else if ((action == 'pause') && (state == 'running')) {
containerName.pause();
} else if ((action == 'pause') && (state == 'paused')) {
containerName.unpause();
} else if (action == 'restart') {
containerName.restart();
}
} else {
console.log('User is not an admin');
}
}