summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/server-info.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/admin/server-info.ts')
-rw-r--r--src/server/api/endpoints/admin/server-info.ts45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/server-info.ts b/src/server/api/endpoints/admin/server-info.ts
new file mode 100644
index 0000000000..f51040a2c8
--- /dev/null
+++ b/src/server/api/endpoints/admin/server-info.ts
@@ -0,0 +1,45 @@
+import * as os from 'os';
+import * as si from 'systeminformation';
+import { getConnection } from 'typeorm';
+import define from '../../define';
+import redis from '../../../../db/redis';
+
+export const meta = {
+ requireCredential: false,
+
+ desc: {
+ },
+
+ tags: ['meta'],
+
+ params: {
+ },
+};
+
+export default define(meta, async () => {
+ const memStats = await si.mem();
+ const fsStats = await si.fsSize();
+ const netInterface = await si.networkInterfaceDefault();
+
+ return {
+ machine: os.hostname(),
+ os: os.platform(),
+ node: process.version,
+ psql: await getConnection().query('SHOW server_version').then(x => x[0].server_version),
+ redis: redis.server_info.redis_version,
+ cpu: {
+ model: os.cpus()[0].model,
+ cores: os.cpus().length
+ },
+ mem: {
+ total: memStats.total
+ },
+ fs: {
+ total: fsStats[0].size,
+ used: fsStats[0].used,
+ },
+ net: {
+ interface: netInterface
+ }
+ };
+});