choose port dynamically from range based on environment

This commit is contained in:
zadam
2019-07-07 10:49:34 +02:00
parent 36b581489c
commit a912b2f23d
4 changed files with 59 additions and 6 deletions

5
src/services/env.js Normal file
View File

@@ -0,0 +1,5 @@
module.exports = {
isDev: function () {
return process.env.TRILIUM_ENV && process.env.TRILIUM_ENV === 'dev';
}
};

View File

@@ -1,10 +1,28 @@
const getPort = require('get-port');
const config = require('./config');
const utils = require('./utils');
const env = require('./env');
const portscanner = require('portscanner');
let environmentPort;
if (process.env.TRILIUM_PORT) {
environmentPort = parseInt(process.env.TRILIUM_PORT);
}
if (utils.isElectron()) {
module.exports = 53010;//getPort();
module.exports = new Promise((resolve, reject) => {
const startingPort = environmentPort || (env.isDev() ? 37740 : 37840);
portscanner.findAPortNotInUse(startingPort, startingPort + 10, '127.0.0.1', function(error, port) {
if (error) {
reject(error);
}
else {
resolve(port);
}
})
});
}
else {
module.exports = Promise.resolve(config['Network']['port'] || '3000');
module.exports = Promise.resolve(environmentPort || config['Network']['port'] || '3000');
}