Allow configuring the listen host (#9924)

This commit is contained in:
ledlamp
2023-02-22 00:51:40 -08:00
committed by GitHub
parent f68e13d905
commit 3dfe3aa9a4
5 changed files with 15 additions and 9 deletions

View File

@@ -78,7 +78,7 @@ export async function masterMain() {
await spawnWorkers(config.clusterLimit);
}
bootLogger.succ(`Now listening on port ${config.port} on ${config.url}`, null, true);
bootLogger.succ(`Now listening on ${config.host ? `[${config.host}]:` : ''}${config.port} for ${config.url}`, null, true);
}
function showEnvironment(): void {

View File

@@ -15,6 +15,7 @@ export type Source = {
feedback_url?: string;
url: string;
port: number;
host: string;
disableHsts?: boolean;
db: {
host: string;
@@ -125,6 +126,7 @@ export function loadConfig() {
config.url = url.origin;
config.port = config.port ?? parseInt(process.env.PORT ?? '', 10);
config.host = config.host ?? process.env.HOST;
mixin.version = meta.version;
mixin.host = url.host;

View File

@@ -176,10 +176,10 @@ export class ServerService {
fastify.server.on('error', err => {
switch ((err as any).code) {
case 'EACCES':
this.logger.error(`You do not have permission to listen on port ${this.config.port}.`);
this.logger.error(`You do not have permission to listen on port ${this.config.port}${this.config.host ? ` of host ${this.config.host}` : ''}`);
break;
case 'EADDRINUSE':
this.logger.error(`Port ${this.config.port} is already in use by another process.`);
this.logger.error(`Port ${this.config.port}${this.config.host ? ` on ${this.config.host}` : ''} is already in use by another process.`);
break;
default:
this.logger.error(err);
@@ -194,6 +194,6 @@ export class ServerService {
}
});
fastify.listen({ port: this.config.port, host: '0.0.0.0' });
fastify.listen({ port: this.config.port, host: this.config.host });
}
}