From d79f1af1af6826484aa09be271c9f3f51fb7924b Mon Sep 17 00:00:00 2001 From: Markus Grigull <web@grigull.me> Date: Thu, 27 Apr 2017 17:16:34 +0200 Subject: [PATCH] Add support for development and production environment --- Dockerfile | 2 +- config.js | 28 ++++++++++++++++++++-------- docker-compose.yml | 25 +++++++++++++------------ server.js | 7 +++++-- 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index 77c9b09..02775cb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,5 +7,5 @@ COPY . . RUN npm install # Run the app -EXPOSE 3000 +EXPOSE 4000 CMD [ "npm", "start" ] diff --git a/config.js b/config.js index 26129c1..658bda8 100644 --- a/config.js +++ b/config.js @@ -20,12 +20,24 @@ ******************************************************************************/ module.exports = { - databaseName: 'VILLAS', - databaseURL: 'mongodb://localhost:27017/', - port: 4000, - secret: 'longsecretislong', - admin: { - username: 'admin', - password: 'admin' + development: { + databaseName: 'VILLAS', + databaseURL: 'mongodb://localhost:27017/', + port: 4000, + secret: 'longsecretislong', + admin: { + username: 'admin', + password: 'admin' + } + }, + production: { + databaseName: 'VILLAS', + databaseURL: 'mongodb://database:27017/', + port: 4000, + secret: 'longsecretislong', + admin: { + username: 'admin', + password: 'admin' + } } -} +}; diff --git a/docker-compose.yml b/docker-compose.yml index c7d32b8..6665600 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,13 +1,14 @@ -node: - image: villasweb-backend - ports: - - "3000:3000" - links: - - mongo - environment: - - NODE_ENV=development +version: "2" -mongo: - image: mongo - ports: - - "27017:27017" +services: + backend: + image: villasweb-backend + ports: + - "4000:4000" + links: + - database + environment: + - NODE_ENV=production + + database: + image: mongo:latest diff --git a/server.js b/server.js index 6a7f837..9a94c9e 100644 --- a/server.js +++ b/server.js @@ -27,8 +27,6 @@ var morgan = require('morgan'); var cors = require('cors'); // local include -var config = require('./config'); - var users = require('./routes/users'); var projects = require('./routes/projects'); var visualizations = require('./routes/visualizations'); @@ -44,6 +42,9 @@ var User = require('./models/user'); // create application var app = express(); +// load configuration +var config = require('./config')[app.get('env')]; + // configure app app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); @@ -74,6 +75,8 @@ app.use(function(req, res, next) { }); // development error handler +console.log("Environment: " + app.get('env')); + if (app.get('env') === 'development') { app.use(function(err, req, res, next) { res.status(err.status || 500); -- GitLab