From e2273deb6f52831cbde88b8adfb12f2532c80c4a Mon Sep 17 00:00:00 2001 From: Matt Oakes Date: Mon, 21 Sep 2015 16:05:15 +0100 Subject: [PATCH] Add basic server configuration --- CHECKS | 1 + Procfile | 1 + Vagrantfile | 2 +- app.js | 32 +++++++++++++++++++++++++++++++- app/lib/environment.js | 20 ++++++++++++++++++++ package.json | 6 +++++- 6 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 CHECKS create mode 100644 Procfile create mode 100644 app/lib/environment.js diff --git a/CHECKS b/CHECKS new file mode 100644 index 0000000..b498fd4 --- /dev/null +++ b/CHECKS @@ -0,0 +1 @@ +/ diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..e1d4131 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: node app.js diff --git a/Vagrantfile b/Vagrantfile index 8a5c7f8..eb2953b 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,7 +1,7 @@ Vagrant.configure("2") do |config| config.vm.box = "ubuntu/trusty64" - config.vm.network "forwarded_port", guest: 3000, host: 3000 + config.vm.network "forwarded_port", guest: 4568, host: 4568 config.vm.synced_folder "./", "/home/vagrant/app" diff --git a/app.js b/app.js index 940a3ff..edf696a 100644 --- a/app.js +++ b/app.js @@ -1 +1,31 @@ -console.log("Hello world!"); +// External dependencies +var express = require( 'express' ); + + +// Dependencies +var environment = require( './app/lib/environment' ); + + +// Local variables +var app = express(); + + +/** + * Initialise + */ +var init = function init() { + + app.get( '/', function ( req, res ) { + res.send( 'Hello World!' ); + } ); + + var server = app.listen( environment.port, function () { + console.log( 'Example app listening at %s', environment.baseUrl ); + } ); + + console.log( environment ); + +}; + +// Get the party started +init(); diff --git a/app/lib/environment.js b/app/lib/environment.js new file mode 100644 index 0000000..fb38388 --- /dev/null +++ b/app/lib/environment.js @@ -0,0 +1,20 @@ +// External dependencies +var dotenv = require( 'dotenv' ); + +// Local variables +var environmentName = process.env.NODE_ENV || process.env.node_env || 'development'; + +// Use .env file for development and test +if ( environmentName === 'development' || environmentName === 'test' ) { + dotenv.load(); +} + +var environment = { + project: 'ribot API', + name: environmentName, + baseUrl: process.env.BASE_URL, + port: process.env.PORT +}; + +// Exports +module.exports = environment; diff --git a/package.json b/package.json index 3042bb9..3da0269 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,10 @@ "author": "", "license": "ISC", "engines": { - "node" : "0.10.26" + "node": "0.10.26" + }, + "dependencies": { + "dotenv": "^1.2.0", + "express": "^4.13.3" } }