try { process.on('uncaughtException', function(e) { console.log("**** UNCAUGHT EXCEPTION ****"); console.log(e); console.log(e.stack); process.exit(1); }); /** * Module dependencies. */ var express = require('express') , routes = require(__dirname+'/routes'); var app = module.exports = express.createServer(); var io = require('socket.io').listen(app); var package = require(__dirname+'/package.json'); var config = require(package.path.config); var docker = require(__dirname+'/docker')(app); //var authentication = require(__dirname+'/authentication')(config.restrict); var sockets = require(__dirname+'/sockets')(io); // Configuration process.argv.forEach(function(val, index) { if (index<2) {return} if (index!=2 || isNaN(val)) { console.log("**** ERROR: Unexpected Argument - allowed is only a port number"); process.exit(1); } config.port = parseInt(val); }); if (typeof config.port != 'number') { console.log("**** WARNING: no valid port given, defaults to 8888"); config.port = 8888; } app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(require('stylus').middleware({ src: __dirname + '/public' })); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function(){ app.use(express.errorHandler()); }); // Routes app.get('/', routes.index); app.listen(config.port, function() { console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env); }); } catch (e) { console.log("**** EXCEPTION ****"); console.log(e); console.log(e.stack); process.exit(1); }