u
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
# Server
|
# Server
|
||||||
|
# Host interface to listen on (defaults to 127.0.0.1 for local only, use 0.0.0.0 for all network interfaces)
|
||||||
|
HOST=127.0.0.1
|
||||||
PORT=4208
|
PORT=4208
|
||||||
# HTTPS server port (defaults to 8443, set to 0 or false to disable)
|
# HTTPS server port (defaults to 8443, set to 0 or false to disable)
|
||||||
HTTPS_PORT=8443
|
HTTPS_PORT=8443
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ export async function buildApiApp() {
|
|||||||
return app;
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
function listenOnPort(instance, port, protocol) {
|
function listenOnPort(instance, port, protocol, host = env.host) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
instance.once('listening', () => {
|
instance.once('listening', () => {
|
||||||
resolve();
|
resolve();
|
||||||
@@ -197,14 +197,14 @@ function listenOnPort(instance, port, protocol) {
|
|||||||
} catch {
|
} catch {
|
||||||
// lsof unavailable or no match
|
// lsof unavailable or no match
|
||||||
}
|
}
|
||||||
apiLog.error(`Port ${port} (${protocol}) is already in use${detail}. Check with: lsof -i :${port}`);
|
apiLog.error(`Port ${port} (${protocol}) on ${host} is already in use${detail}. Check with: lsof -i :${port}`);
|
||||||
} else {
|
} else {
|
||||||
apiLog.error(`${protocol} server error:`, err.message);
|
apiLog.error(`${protocol} server error:`, err.message);
|
||||||
}
|
}
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
instance.listen(port);
|
instance.listen(port, host);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ export async function startApi() {
|
|||||||
const httpInstance = http.createServer(app);
|
const httpInstance = http.createServer(app);
|
||||||
await listenOnPort(httpInstance, env.port, 'HTTP');
|
await listenOnPort(httpInstance, env.port, 'HTTP');
|
||||||
server = httpInstance;
|
server = httpInstance;
|
||||||
apiLog.info(`API listening on port ${env.port} (HTTP)`);
|
apiLog.info(`API listening on ${env.host}:${env.port} (HTTP)`);
|
||||||
|
|
||||||
if (env.httpsPort) {
|
if (env.httpsPort) {
|
||||||
try {
|
try {
|
||||||
@@ -233,7 +233,7 @@ export async function startApi() {
|
|||||||
const httpsInstance = https.createServer(tls, app);
|
const httpsInstance = https.createServer(tls, app);
|
||||||
await listenOnPort(httpsInstance, env.httpsPort, 'HTTPS');
|
await listenOnPort(httpsInstance, env.httpsPort, 'HTTPS');
|
||||||
httpsServer = httpsInstance;
|
httpsServer = httpsInstance;
|
||||||
apiLog.info(`API listening on port ${env.httpsPort} (HTTPS self-signed)`);
|
apiLog.info(`API listening on ${env.host}:${env.httpsPort} (HTTPS self-signed)`);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
apiLog.error('Failed to start HTTPS server:', err.message);
|
apiLog.error('Failed to start HTTPS server:', err.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -152,14 +152,14 @@ export async function startBackendMonitor() {
|
|||||||
await new Promise((resolve, reject) => {
|
await new Promise((resolve, reject) => {
|
||||||
serverInstance.once('listening', () => resolve());
|
serverInstance.once('listening', () => resolve());
|
||||||
serverInstance.once('error', (err) => {
|
serverInstance.once('error', (err) => {
|
||||||
monitorLog.error(`Failed to listen on port ${env.monitorPort}:`, err.message);
|
monitorLog.error(`Failed to listen on ${env.host}:${env.monitorPort}:`, err.message);
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
serverInstance.listen(env.monitorPort);
|
serverInstance.listen(env.monitorPort, env.host);
|
||||||
});
|
});
|
||||||
|
|
||||||
monitorServer = serverInstance;
|
monitorServer = serverInstance;
|
||||||
monitorLog.info(`Backend Monitor Interface running on http://localhost:${env.monitorPort} (dev mode, no auth)`);
|
monitorLog.info(`Backend Monitor Interface running on http://${env.host}:${env.monitorPort} (dev mode, no auth)`);
|
||||||
return monitorServer;
|
return monitorServer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ function parseHttpsPort(val) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
host: process.env.HOST || '127.0.0.1',
|
||||||
port: Number(process.env.PORT) || 4208,
|
port: Number(process.env.PORT) || 4208,
|
||||||
httpsPort: parseHttpsPort(process.env.HTTPS_PORT),
|
httpsPort: parseHttpsPort(process.env.HTTPS_PORT),
|
||||||
monitorPort: Number(process.env.MONITOR_PORT || process.env.SQL_STUDIO_PORT) || 4210,
|
monitorPort: Number(process.env.MONITOR_PORT || process.env.SQL_STUDIO_PORT) || 4210,
|
||||||
|
|||||||
Reference in New Issue
Block a user