Fix IPv6 listen default (#470)

Co-authored-by: KK <kk@KKs-Mac-Studio.local>
This commit is contained in:
tw19880217-creator
2026-05-06 02:24:34 -05:00
committed by GitHub
parent 0209372a6d
commit d13423b9dd
4 changed files with 29 additions and 2 deletions
+8
View File
@@ -1,8 +1,16 @@
import { resolve } from 'path'
import { homedir } from 'os'
export function getListenHost(env: Record<string, string | undefined> = process.env): string | undefined {
const host = env.BIND_HOST?.trim()
return host || undefined
}
export const config = {
port: parseInt(process.env.PORT || '8648', 10),
// Leave host undefined by default so Node binds to IPv6 when available,
// falling back to IPv4 on systems without IPv6 support.
host: getListenHost(),
upstream: process.env.UPSTREAM || 'http://127.0.0.1:8642',
uploadDir: process.env.UPLOAD_DIR || resolve(homedir(), '.hermes-web-ui', 'upload'),
dataDir: resolve(__dirname, '..', 'data'),
+4 -2
View File
@@ -102,8 +102,10 @@ export async function bootstrap() {
console.log('[bootstrap] SPA fallback registered')
// Start server
console.log(`[bootstrap] listening on port ${config.port}`)
server = app.listen(config.port, '0.0.0.0')
console.log(`[bootstrap] listening on ${config.host || 'default host'}:${config.port}`)
server = config.host
? app.listen(config.port, config.host)
: app.listen(config.port)
console.log('[bootstrap] app.listen called')
setupTerminalWebSocket(server)