UNPKG

mira-app-server

Version:

Mira Server - standalone server application using mira-app-core

56 lines 2.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MiraServer = void 0; exports.startServer = startServer; const MiraServer_1 = require("./MiraServer"); Object.defineProperty(exports, "MiraServer", { enumerable: true, get: function () { return MiraServer_1.MiraServer; } }); const dotenv_1 = __importDefault(require("dotenv")); const path_1 = __importDefault(require("path")); // 加载环境变量 - 先加载根目录的 .env,再加载本地的 .env dotenv_1.default.config({ path: path_1.default.join(__dirname, '../../../.env') }); dotenv_1.default.config(); async function startServer() { try { // 服务端启动文件 console.log('🚀 Starting Mira Server...'); // 获取端口配置,优先使用环境变量 const httpPort = process.env.MIRA_SERVER_HTTP_PORT || process.env.HTTP_PORT || '8081'; const wsPort = process.env.MIRA_SERVER_WS_PORT || process.env.WS_PORT || '8018'; const dataPath = process.env.DATA_PATH || './data'; console.log(`📡 HTTP Server will start on port: ${httpPort}`); console.log(`🔌 WebSocket Server will start on port: ${wsPort}`); console.log(`📁 Data path: ${dataPath}`); const server = await MiraServer_1.MiraServer.createAndStart({ httpPort: parseInt(httpPort), wsPort: parseInt(wsPort), dataPath: dataPath, enableHttp: process.env.ENABLE_HTTP !== 'false', enableWebSocket: process.env.ENABLE_WEBSOCKET !== 'false' }); console.log('✅ Mira Server started successfully'); // 优雅关闭处理 process.on('SIGINT', async () => { console.log('\n📴 Received SIGINT, gracefully shutting down...'); await server.stop(); process.exit(0); }); process.on('SIGTERM', async () => { console.log('\n📴 Received SIGTERM, gracefully shutting down...'); await server.stop(); process.exit(0); }); return server; } catch (error) { console.error('❌ Failed to start server:', error); process.exit(1); } } // 如果直接运行此文件,则启动服务器 if (require.main === module) { startServer(); } //# sourceMappingURL=index.js.map