UNPKG

mira-app-server

Version:

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

74 lines 4.07 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ws = exports.express = exports.MetadataService = exports.ThumbnailService = exports.MiraHttpServer = exports.MiraWebsocketServer = exports.ServerPlugin = exports.ServerPluginManager = 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 ws_1 = __importDefault(require("ws")); exports.ws = ws_1.default; const dotenv_1 = __importDefault(require("dotenv")); const path_1 = __importDefault(require("path")); const ServerPluginManager_1 = require("./ServerPluginManager"); Object.defineProperty(exports, "ServerPluginManager", { enumerable: true, get: function () { return ServerPluginManager_1.ServerPluginManager; } }); const ServerPlugin_1 = require("./ServerPlugin"); Object.defineProperty(exports, "ServerPlugin", { enumerable: true, get: function () { return ServerPlugin_1.ServerPlugin; } }); const WebSocketServer_1 = require("./WebSocketServer"); Object.defineProperty(exports, "MiraWebsocketServer", { enumerable: true, get: function () { return WebSocketServer_1.MiraWebsocketServer; } }); const server_1 = require("./server"); Object.defineProperty(exports, "MiraHttpServer", { enumerable: true, get: function () { return server_1.MiraHttpServer; } }); const ThumbnailService_1 = require("./services/ThumbnailService"); Object.defineProperty(exports, "ThumbnailService", { enumerable: true, get: function () { return ThumbnailService_1.ThumbnailService; } }); const MetadataService_1 = require("./services/MetadataService"); Object.defineProperty(exports, "MetadataService", { enumerable: true, get: function () { return MetadataService_1.MetadataService; } }); const logCapture_1 = require("./services/logCapture"); const express_1 = __importDefault(require("express")); exports.express = express_1.default; // 加载环境变量 - 先加载根目录的 .env,再加载本地的 .env dotenv_1.default.config({ path: path_1.default.join(__dirname, '../../../.env') }); dotenv_1.default.config(); // 尽早安装 console 拦截,让 SSE 日志端点能回放启动阶段的历史日志。 // 幂等:重复调用安全。 (0, logCapture_1.installLogCapture)(); 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, }); 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