pm2-gui/web/index.js

41 lines
1.1 KiB
JavaScript

var express = require('express'),
swig = require('swig'),
path = require('path'),
chalk = require('chalk'),
Monitor = require('../lib/mon'),
Debug = require('../lib/util/debug'),
session = require('express-session');
module.exports = runServer;
function runServer(debug){
var app = express();
// all environments
app.set('view engine', 'html');
app.set('views', path.join(__dirname, 'views'));
app.engine('html', swig.renderFile);
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({
secret : 'pm2@gui',
resave : false,
saveUninitialized: true
}));
var log = Debug(({namespace: 'pm2-gui', debug: !!debug}));
// router
require('../lib/util/router')(app, log);
var server = require('http').Server(app);
var io = require('socket.io')(server);
var mon = Monitor({
sockio: io,
debug : !!debug
});
var port = mon.config('port');
server.listen(port);
log.i('http', 'Web server of', chalk.bold.underline('Unitech/PM2'), 'is listening on port', chalk.bold(port));
mon.run();
}