From c7851da84a553ca2e29f5131e3e6c550ec5b7d2c Mon Sep 17 00:00:00 2001 From: Bill Church Date: Thu, 20 May 2021 16:35:34 -0400 Subject: [PATCH] chore: take same config options from env and override port, listen ip, session name, session secret --- app/server/config.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/server/config.js b/app/server/config.js index 3862502..80f7bde 100644 --- a/app/server/config.js +++ b/app/server/config.js @@ -83,6 +83,14 @@ let config = { safeShutdownDuration: 300, }; +// We want our environment varaibles to take priority if they're set +function setOverrides() { + config.listen.ip = process.env.LISTEN_IP || config.listen.ip; + config.listen.port = process.env.PORT || config.listen.port; + config.session.name = process.env.SESSION_NAME || config.session.name; + config.session.secret = process.env.SESSION_SECRET || config.session.secret; +} + // test if config.json exists, if not provide error message but try to run anyway try { if (fs.existsSync(configPath)) { @@ -90,11 +98,14 @@ try { console.info(`WebSSH2 service reading config from: ${configPath}`); // eslint-disable-next-line global-require config = require('read-config-ng')(configPath); + // setup overrides for environment variables + setOverrides(); } else { console.error( `\n\nERROR: Missing config.json for WebSSH2. Current config: ${JSON.stringify(config)}` ); console.error('\n See config.json.sample for details\n\n'); + setOverrides(); } } catch (err) { console.error(