Files
nixpanel-server/server/src/index.ts
T
NixReaper 87edf902a1 fix: correct server port config and seed default settings
- config.ts: rename nixserverPort/nixclientPort to single port, default
  HOST to 127.0.0.1 (installer binds to loopback, Apache proxies)
- index.ts: use config.server.port
- seed.ts: fix wrong default settings (nginx->apache2, bind9->powerdns,
  postfix->exim4, vsftpd->disabled)
2026-04-11 08:05:26 -05:00

40 lines
993 B
TypeScript

import 'dotenv/config'
import { buildApp } from './app.js'
import { config } from './config.js'
import prisma from './db/client.js'
import { startScheduler, stopScheduler } from './scheduler.js'
async function start() {
let app
try {
await prisma.$connect()
console.log('[nixpanel] Database connected')
app = await buildApp()
await app.listen({ port: config.server.port, host: config.server.host })
console.log(`[nixpanel] API running on ${config.server.host}:${config.server.port}`)
startScheduler()
} catch (err) {
console.error('[nixpanel] Failed to start:', err)
await prisma.$disconnect()
process.exit(1)
}
const shutdown = async (signal: string) => {
console.log(`[nixpanel] ${signal} received, shutting down...`)
await app?.close()
await stopScheduler()
await prisma.$disconnect()
process.exit(0)
}
process.on('SIGTERM', () => shutdown('SIGTERM'))
process.on('SIGINT', () => shutdown('SIGINT'))
}
start()