diff --git a/src/app.ts b/src/app.ts index 970c18d..4dc1eb2 100644 --- a/src/app.ts +++ b/src/app.ts @@ -95,7 +95,7 @@ const app = server( } ); -app.listen(config.port, () => { +const expressServer = app.listen(config.port, () => { logger.info(`Listening on ${config.port} available @ ${config.bonobUrl}`); }); @@ -113,6 +113,15 @@ if (config.sonos.autoRegister) { logger.info(`Found device ${d.name}(${d.group}) @ ${d.ip}:${d.port}`); }); }); -} +}; + +process.on('SIGTERM', () => { + logger.info('SIGTERM signal received: closing HTTP server'); + expressServer.close(() => { + logger.info('HTTP server closed'); + }); + process.exit(0); +}); + export default app;