Files
gancio/server/index.js
2019-08-09 01:58:11 +02:00

63 lines
1.5 KiB
JavaScript

//#!/bin/env node
//const path = require('path')
//const express = require('express')
//const consola = require('consola')
//const morgan = require('morgan')
const { Nuxt, Builder } = require('nuxt')
//const api = require('./api')
//const federation = require('./federation')
//const webfinger = require('./federation/webfinger')
// Import and Set Nuxt.js options
const nuxt_config = require('../nuxt.config.js')
const config = require('config')
async function start() {
nuxt_config.server = config.server
// Init Nuxt.js
const nuxt = new Nuxt(nuxt_config)
// Build only in dev mode
if (nuxt_config.dev) {
const builder = new Builder(nuxt)
await builder.build()
} else {
await nuxt.ready()
}
nuxt.listen()
// configurable favicon && logo
//app.use('/favicon.ico', express.static(path.resolve(config.favicon || 'assets/favicon.ico')))
//app.use(morgan('dev'))
//app.use('/media/', express.static(config.upload_path))
// gancio standard api
//app.use('/api', api)
// federation api / activitypub / webfinger / nodeinfo
//app.use('/.well-known', webfinger)
//app.use('/federation', federation)
// Give nuxt middleware to express
//app.use(nuxt.render)
// Listen
//const server = app.listen(nuxt_config.server)
// close connections/port/unix socket
function shutdown() {
consola.info(`Closing connections..`)
nuxt.close(() => {
// TODO, close db connection?
process.exit()
})
}
process.on('SIGTERM', shutdown)
process.on('SIGINT', shutdown)
}
start()