Browse Source

Prepare for use in heroku/production

sbkwgh 8 years ago
parent
commit
97c664e75d
6 changed files with 31 additions and 17 deletions
  1. 1 0
      Procfile
  2. 3 0
      config/config.json
  3. 1 1
      config/server.js
  4. 11 7
      models/index.js
  5. 9 4
      package.json
  6. 6 5
      server.js

+ 1 - 0
Procfile

@@ -0,0 +1 @@
+web: npm run start

+ 3 - 0
config/config.json

@@ -12,5 +12,8 @@
 		"database": "forum_test",
 		"host": "localhost",
 		"dialect": "mysql"
+	},
+	"production": {
+		"use_env_variable": "DATABASE_URL"
 	}
 }

+ 1 - 1
config/server.js

@@ -1,4 +1,4 @@
 module.exports = {
 	port: process.env.PORT || 3000,
-	sessionSecret: 'session secret'
+	sessionSecret: process.env.SESSION_SECRET || 'session secret'
 }

+ 11 - 7
models/index.js

@@ -6,13 +6,17 @@ const config = require('../config/config.json');
 const env = process.env.NODE_ENV || 'development';
 const db = {};
 
-let sequelize = new Sequelize(
-	config[env].database, config[env].username, config[env].password, {
-		host: config[env].host,
-		dialect: config[env].dialect,
-		logging: false
-	}
-);
+if(env === 'production') {
+	var sequelize = new Sequelize(process.env.DATABASE_URL)
+} else {
+	var sequelize = new Sequelize(
+		config[env].database, config[env].username, config[env].password, {
+			host: config[env].host,
+			dialect: config[env].dialect,
+			logging: false
+		}
+	);
+}
 
 fs
 	.readdirSync(__dirname)

+ 9 - 4
package.json

@@ -5,7 +5,11 @@
   "main": "server.js",
   "scripts": {
     "test": "cross-env NODE_ENV=test && node ./node_modules/mocha/bin/mocha  --harmony --timeout 30000",
-    "start": "cross-env NODE_ENV=development && sequelize db:migrate && node --harmony server.js"
+    "dev": "cross-env NODE_ENV=development && sequelize db:migrate && node --harmony server.js",
+    "start": "sequelize db:migrate && node server.js"
+  },
+  "engines": {
+    "node": ">= 7.6.0"
   },
   "author": "",
   "license": "ISC",
@@ -19,6 +23,7 @@
     "highlight.js": "^9.10.0",
     "marked": "^0.3.6",
     "mysql": "^2.13.0",
+    "mysql2": "^1.4.2",
     "randomcolor": "^0.4.4",
     "sequelize": "^3.30.0",
     "sequelize-cli": "^2.8.0",
@@ -30,7 +35,7 @@
     "chai-http": "^3.0.0",
     "chai-things": "^0.2.0",
     "mocha": "^3.2.0",
-    "morgan": "^1.7.0",
-    "socket.io-client": "^1.7.3"
+    "socket.io-client": "^1.7.3",
+    "morgan": "^1.7.0"
   }
-}
+}

+ 6 - 5
server.js

@@ -8,7 +8,6 @@ let config = require('./config/server.js')
 
 //Middle-ware
 let bodyParser = require('body-parser')
-let morgan = require('morgan')
 let expressSession = require('express-session')
 let compression = require('compression')
 
@@ -26,12 +25,14 @@ app.use(bodyParser.urlencoded({ extended: true }))
 app.use(session)
 
 if(process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production') {
-	app.use(morgan('dev'))
+	app.use(require('morgan')('dev'))
 }
-if(process.env.NODE_ENV === 'production') {
+/*if(process.env.NODE_ENV === 'production') {
 	app.set('trust proxy', 1);
-	session.cookie.secure = true
-}
+
+	console.log(session)
+	session.cookie.secure = 'auto'
+}*/
 
 app.use('/api/v1/user', require('./routes/user'))
 app.use('/api/v1/admin_token', require('./routes/admin_token'))