Allow setting IP to listen on.

Running on bare metal, 127.0.0.1 is a sensible choice of address
to bind on, but that is not the case when running inside a
container, so we add the ability to choose which IP to listen on.

This can be given via the environment variable HTTP_HOST when
starting the server or, if used as a module, as the second
argument of the start(port, host, path) function.
This commit is contained in:
D. Berge
2023-04-07 09:04:51 +02:00
parent 5a44e20a5b
commit 6d8a199a3c
2 changed files with 9 additions and 7 deletions

View File

@@ -322,15 +322,14 @@ app.disable('x-powered-by');
app.enable('trust proxy');
INFO('trust proxy is ' + (app.get('trust proxy')? 'on' : 'off'));
const addr = "127.0.0.1";
if (!module.parent) {
var port = process.env.HTTP_PORT || 3000;
var server = http.createServer(app).listen(port, addr);
const port = process.env.HTTP_PORT || 3000;
const host = process.env.HTTP_HOST || "127.0.0.1";
var server = http.createServer(app).listen(port, host);
INFO('API started on port ' + port);
} else {
app.start = function (port = 3000, path) {
app.start = function (port = 3000, host = "127.0.0.1", path) {
var root = app;
if (path) {
@@ -339,7 +338,7 @@ if (!module.parent) {
root.use(path, app);
}
const server = http.createServer(root).listen(port, addr);
const server = http.createServer(root).listen(port, host);
if (server) {
// console.log(`API started on port ${port}, prefix: ${path || "/"}`);
INFO(`API started on port ${port}, prefix: ${path || "/"}`);

View File

@@ -13,7 +13,10 @@ async function main () {
const { fork } = require('child_process');
const server = api.start(process.env.HTTP_PORT || 3000, process.env.HTTP_PATH);
const port = process.env.HTTP_PORT || 3000;
const host = process.env.HTTP_HOST || "127.0.0.1";
const path = process.env.HTTP_PATH;
const server = api.start(port, host, path);
ws.start(server);
const eventManagerPath = [__dirname, "events"].join("/");