diff --git a/server/model/monitor.js b/server/model/monitor.js index 9089b8306..161815277 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -11,6 +11,7 @@ const { tcping, ping, dnsResolve, checkCertificate, checkStatusCode, getTotalCli const { R } = require("redbean-node"); const { BeanModel } = require("redbean-node/dist/bean-model"); const { Notification } = require("../notification"); +const { demoMode } = require("../server"); const version = require("../../package.json").version; const apicache = require("../modules/apicache"); @@ -363,6 +364,14 @@ class Monitor extends BeanModel { previousBeat = bean; if (! this.isStop) { + + if (demoMode) { + if (beatInterval < 20) { + console.log("beat interval too low, reset to 20s"); + beatInterval = 20; + } + } + this.heartbeatInterval = setTimeout(beat, beatInterval * 1000); } diff --git a/server/server.js b/server/server.js index 390c94095..67095ff53 100644 --- a/server/server.js +++ b/server/server.js @@ -1,12 +1,18 @@ console.log("Welcome to Uptime Kuma"); +const args = require("args-parser")(process.argv); +const { sleep, debug, getRandomInt, genSecret } = require("../src/util"); + +debug(args); if (! process.env.NODE_ENV) { process.env.NODE_ENV = "production"; } -console.log("Node Env: " + process.env.NODE_ENV); +// Demo Mode? +const demoMode = args["demo"] || false; +exports.demoMode = demoMode; -const { sleep, debug, getRandomInt, genSecret } = require("../src/util"); +console.log("Node Env: " + process.env.NODE_ENV); console.log("Importing Node libraries"); const fs = require("fs"); @@ -50,8 +56,6 @@ const { basicAuth } = require("./auth"); const { login } = require("./auth"); const passwordHash = require("./password-hash"); -const args = require("args-parser")(process.argv); - const checkVersion = require("./check-version"); console.info("Version: " + checkVersion.version); @@ -70,6 +74,10 @@ const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined; */ const testMode = !!args["test"] || false; +if (demoMode) { + console.log("==== Demo Mode ===="); +} + console.log("Creating express and socket.io instance"); const app = express();