diff --git a/lib/API/Serve.js b/lib/API/Serve.js index 493a6b96..78e24941 100644 --- a/lib/API/Serve.js +++ b/lib/API/Serve.js @@ -201,6 +201,7 @@ var contentTypes = { var options = { port: process.env.PM2_SERVE_PORT || process.argv[3] || 8080, + host: process.env.PM2_SERVE_HOST || process.argv[4] || '0.0.0.0', path: path.resolve(process.env.PM2_SERVE_PATH || process.argv[2] || '.'), spa: process.env.PM2_SERVE_SPA === 'true', homepage: process.env.PM2_SERVE_HOMEPAGE || '/index.html', @@ -211,6 +212,10 @@ var options = { monitor: process.env.PM2_SERVE_MONITOR }; +if (typeof options.port === 'string') { + options.port = parseInt(options.port) || 8080 +} + if (typeof options.monitor === 'string' && options.monitor !== '') { try { let fileContent = fs.readFileSync(path.join(process.env.PM2_HOME, 'agent.json5')).toString() @@ -239,12 +244,12 @@ http.createServer(function (request, response) { serveFile(request.url, request, response); -}).listen(options.port, function (err) { +}).listen(options.port, options.host, function (err) { if (err) { console.error(err); process.exit(1); } - console.log('Exposing %s directory on port %d', options.path, options.port); + console.log('Exposing %s directory on %s:%d', options.path, options.host, options.port); }); function serveFile(uri, request, response) { @@ -335,4 +340,4 @@ function sendBasicAuthResponse(response) { 'WWW-Authenticate': 'Basic realm="Authentication service"' }); return response.end('401 Unauthorized'); -} \ No newline at end of file +}