Root cause fixes for Apricot showing as "down": - Create TypeORM migrations (production mode requires them) - Tables: vps_resource_snapshots, docker_container_snapshots, docker_events, container_dependencies - Add data-source.ts for TypeORM CLI operations API naming alignment (host isn't a VPS): - Rename /api/health/vps → /api/health/resources - Rename VPSResourcesDto → HostResourcesDto - Rename vps-resources.dto.ts → host-resources.dto.ts Infrastructure: - Add Dockerfile with curl, ca-certificates for health checks - Add npm migration scripts to package.json 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
72 lines
2.3 KiB
JSON
72 lines
2.3 KiB
JSON
{
|
|
"name": "@lilith/status-dashboard-server",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"description": "VPS health monitoring and service status aggregation",
|
|
"author": {
|
|
"name": "QuinnFTW",
|
|
"email": "TransQuinnFTW@pm.me"
|
|
},
|
|
"scripts": {
|
|
"build": "nest build",
|
|
"start": "nest start",
|
|
"start:dev": "nest start --watch",
|
|
"start:debug": "nest start --debug --watch",
|
|
"start:prod": "node dist/main",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:cov": "vitest run --coverage",
|
|
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
"test:e2e:watch": "vitest --config vitest.e2e.config.ts",
|
|
"migration:run": "typeorm migration:run -d dist/database/data-source.js",
|
|
"migration:revert": "typeorm migration:revert -d dist/database/data-source.js",
|
|
"migration:show": "typeorm migration:show -d dist/database/data-source.js"
|
|
},
|
|
"dependencies": {
|
|
"@lilith/registry-integration": "workspace:*",
|
|
"@nestjs/common": "^10.0.0",
|
|
"yaml": "^2.3.4",
|
|
"@nestjs/core": "^10.0.0",
|
|
"@nestjs/platform-express": "^10.0.0",
|
|
"@nestjs/platform-socket.io": "^10.4.20",
|
|
"@nestjs/platform-ws": "^10.0.0",
|
|
"@nestjs/schedule": "^4.0.0",
|
|
"@nestjs/swagger": "^7.4.2",
|
|
"@nestjs/typeorm": "^10.0.0",
|
|
"@nestjs/websockets": "^10.0.0",
|
|
"better-sqlite3": "^11.0.0",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.14.0",
|
|
"dotenv": "^16.3.1",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"reflect-metadata": "^0.2.0",
|
|
"rxjs": "^7.8.1",
|
|
"socket.io": "^4.6.0",
|
|
"speakeasy": "^2.0.0",
|
|
"typeorm": "^0.3.17",
|
|
"ws": "^8.16.0"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^10.0.0",
|
|
"@nestjs/schematics": "^10.0.0",
|
|
"@nestjs/testing": "^10.0.0",
|
|
"@types/better-sqlite3": "^7.6.8",
|
|
"@types/express": "^4.17.17",
|
|
"@types/jsonwebtoken": "^9.0.5",
|
|
"@types/node": "^20.0.0",
|
|
"@types/speakeasy": "^2.0.10",
|
|
"@types/supertest": "^6.0.2",
|
|
"@types/ws": "^8.5.10",
|
|
"@vitest/coverage-v8": "^2.0.0",
|
|
"socket.io-client": "^4.6.0",
|
|
"source-map-support": "^0.5.21",
|
|
"supertest": "^7.0.0",
|
|
"ts-loader": "^9.4.3",
|
|
"ts-node": "^10.9.1",
|
|
"tsconfig-paths": "^4.2.0",
|
|
"typescript": "^5.1.3",
|
|
"vitest": "^2.0.0"
|
|
}
|
|
}
|