diff --git a/server/ping-lite.js b/server/ping-lite.js index 291bf20..0152fe9 100644 --- a/server/ping-lite.js +++ b/server/ping-lite.js @@ -4,13 +4,9 @@ const net = require("net"); const spawn = require("child_process").spawn; const events = require("events"); const fs = require("fs"); +const { MAC, FBSD, LIN, WIN } = require("./util-server"); const util = require("./util-server"); -const WIN = /^win/.test(process.platform); -const LIN = /^linux/.test(process.platform); -const MAC = /^darwin/.test(process.platform); -const FBSD = /^freebsd/.test(process.platform); - module.exports = Ping; function Ping(host, options) { diff --git a/server/server.js b/server/server.js index 67095ff..376e7bb 100644 --- a/server/server.js +++ b/server/server.js @@ -43,7 +43,7 @@ console.log("Importing this project modules"); debug("Importing Monitor"); const Monitor = require("./model/monitor"); debug("Importing Settings"); -const { getSettings, setSettings, setting, initJWTSecret, checkLogin, startUnitTest } = require("./util-server"); +const { getSettings, setSettings, setting, initJWTSecret, checkLogin, startUnitTest, FBSD } = require("./util-server"); debug("Importing Notification"); const { Notification } = require("./notification"); @@ -61,12 +61,22 @@ console.info("Version: " + checkVersion.version); // If host is omitted, the server will accept connections on the unspecified IPv6 address (::) when IPv6 is available and the unspecified IPv4 address (0.0.0.0) otherwise. // Dual-stack support for (::) -const hostname = process.env.HOST || args.host; -const port = parseInt(process.env.PORT || args.port || 3001); +let hostname = process.env.UPTIME_KUMA_HOST || args.host; + +// Also read HOST if not FreeBSD, as HOST is a system environment variable in FreeBSD +if (!hostname && !FBSD) { + hostname = process.env.HOST; +} + +if (hostname) { + console.log("Custom hostname: " + hostname); +} + +const port = parseInt(process.env.UPTIME_KUMA_PORT || process.env.PORT || args.port || 3001); // SSL -const sslKey = process.env.SSL_KEY || args["ssl-key"] || undefined; -const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined; +const sslKey = process.env.UPTIME_KUMA_SSL_KEY || process.env.SSL_KEY || args["ssl-key"] || undefined; +const sslCert = process.env.UPTIME_KUMA_SSL_CERT || process.env.SSL_CERT || args["ssl-cert"] || undefined; /** * Run unit test after the server is ready diff --git a/server/util-server.js b/server/util-server.js index aecb74e..a65af74 100644 --- a/server/util-server.js +++ b/server/util-server.js @@ -9,6 +9,12 @@ const child_process = require("child_process"); const iconv = require("iconv-lite"); const chardet = require("chardet"); +// From ping-lite +exports.WIN = /^win/.test(process.platform); +exports.LIN = /^linux/.test(process.platform); +exports.MAC = /^darwin/.test(process.platform); +exports.FBSD = /^freebsd/.test(process.platform); + /** * Init or reset JWT secret * @returns {Promise}