-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
51 lines (37 loc) · 1.28 KB
/
server.js
File metadata and controls
51 lines (37 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
require('coffee-script/register');
var http = require('http');
var derby = require('derby');
var express = require('./server/express');
var chalk = require('chalk');
var apps = [
require('./apps/ethertoff')
];
var error = require('./server/error');
var publicDir = process.cwd() + '/public';
var defaults = require('./config/defaults');
if(process.env.VCAP_SERVICES){ // appfog
var appfog_defaults = require('./config/appfog');
defaults.PORT = appfog_defaults.PORT;
defaults.MONGO_URL = appfog_defaults.MONGO_URL;
}
if(process.env.MONGOSOUP_URL){ // heroku with mongosoup
process.env.MONGO_URL = process.env.MONGOSOUP_URL;
}
for(var key in defaults) {
process.env[key] = process.env[key] || defaults[key];
}
derby.run(function(){
var store = require('./server/store')(derby);
express(store, apps, error, function(expressApp, upgrade){
var server = http.createServer(expressApp);
server.on('upgrade', upgrade);
server.listen(process.env.PORT, function() {
console.log('%d listening. Go to: http://localhost:%d/', process.pid, process.env.PORT);
});
apps.forEach(function(app){
app.writeScripts(store, publicDir, {extensions: ['.coffee']}, function(){
console.log('Bundle created:', chalk.yellow(app.name));
});
});
});
});