ddstats-server/index.js

50 lines
1.1 KiB
JavaScript

/**
* This is the entrypoint for 'DDStats'.
* DDStats is a custom API that servers statistics from the DDRace Network-
* @author BurnyLlama <xmpp:burnyllama@qwik.space>
*/
import express from 'express'
import dotenv from 'dotenv'
import njk from 'nunjucks'
import sqlite2mongo from './libs/database/sqlite2mongo.js'
import databaseInit from './libs/database/init.js'
import initLog from './libs/utils/log.js'
import api from './api/api.js'
import routes from './routes/routes.js'
import { initWorkers } from './libs/utils/multithread.js'
const log = initLog("[ MAIN ]")
// Read the .env file
dotenv.config()
// await databaseInit()
initWorkers(process.env.THREADS ?? 4)
if (process.env.LOAD_DB === "true")
await sqlite2mongo()
const Server = express()
njk.configure(
'views',
{
autoescape: true,
express: Server,
lstripBlocks: true,
trimBlocks: true
}
)
Server.use('/', routes)
Server.use('/assets', express.static('static'))
Server.use('/api', api)
Server.listen(process.env.PORT ?? 12345, () => log(`Server started and listening on port ${process.env.PORT}.`))