mirror of
https://github.com/marcogll/soul23_placeholder_site_server.git
synced 2026-01-13 13:25:18 +00:00
feat: add health check endpoint with VPS ping using child_process.exec.
This commit is contained in:
22
server.js
22
server.js
@@ -1,6 +1,8 @@
|
|||||||
const express = require("express");
|
const express = require("express");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
||||||
|
const { exec } = require("child_process");
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const port = process.env.PORT || 3000;
|
const port = process.env.PORT || 3000;
|
||||||
const rootDir = path.join(__dirname);
|
const rootDir = path.join(__dirname);
|
||||||
@@ -14,6 +16,26 @@ app.get("/healthchecker", (req, res) => {
|
|||||||
res.sendFile(path.join(rootDir, "scripts", "health_checker"));
|
res.sendFile(path.join(rootDir, "scripts", "health_checker"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Standard health check endpoint for monitoring with VPS ping
|
||||||
|
app.get("/health", (req, res) => {
|
||||||
|
const vpsIp = "31.97.41.188";
|
||||||
|
// Ping with count 1 and timeout 1 second
|
||||||
|
exec(`ping -c 1 -W 1 ${vpsIp}`, (error, stdout, stderr) => {
|
||||||
|
const isAlive = !error;
|
||||||
|
res.status(200).json({
|
||||||
|
status: "ok",
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
checks: {
|
||||||
|
vps_ping: {
|
||||||
|
target: vpsIp,
|
||||||
|
alive: isAlive,
|
||||||
|
output: isAlive ? "VPS Reachable" : "VPS Unreachable",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Fallback to index.html for other routes (optional)
|
// Fallback to index.html for other routes (optional)
|
||||||
app.get("*", (req, res) => {
|
app.get("*", (req, res) => {
|
||||||
res.sendFile(path.join(rootDir, "index.html"));
|
res.sendFile(path.join(rootDir, "index.html"));
|
||||||
|
|||||||
Reference in New Issue
Block a user