import apps from './core/app'; import logger from './core/utils/system/logger'; import config from './core/utils/system/config'; import redis from './core/services/redis/redis'; import autoUpdater from './core/utils/system/autoUpdater'; import System from './core/utils/system/system'; config.check(['PORT', 'DEBUG', 'RD_PORT', 'RD_ADD', 'WS_SECRET', 'WS_PORT']); const PORT = config.get('PORT') || 3000; apps .createApp() .then(async (app) => { app.listen(PORT, () => { logger.info(`Crystelf-core listening on ${PORT}`); }); const isUpdated = await autoUpdater.checkForUpdates(); if (isUpdated) { logger.warn(`检测到更新,正在重启..`); await System.restart(); } }) .catch((err) => { logger.error('Crystelf-core启动失败:', err); process.exit(1); }); process.on('SIGTERM', async () => { await redis.disconnect(); process.exit(0); });