added socketPort option
This commit is contained in:
parent
9c9dd633e8
commit
1058692bca
|
@ -60,6 +60,7 @@ COPY ./config /opt/tellform/config
|
||||||
COPY ./gruntfile.js /opt/tellform/gruntfile.js
|
COPY ./gruntfile.js /opt/tellform/gruntfile.js
|
||||||
COPY ./server.js /opt/tellform/server.js
|
COPY ./server.js /opt/tellform/server.js
|
||||||
COPY ./.env /opt/tellform/.env
|
COPY ./.env /opt/tellform/.env
|
||||||
|
COPY ./scripts/create_admin.js /opt/tellform/scripts/create_admin.js
|
||||||
|
|
||||||
# Run TellForm server
|
# Run TellForm server
|
||||||
CMD npm start
|
CMD npm start
|
||||||
|
|
|
@ -61,6 +61,7 @@ COPY ./config /opt/tellform/config
|
||||||
COPY ./gruntfile.js /opt/tellform/gruntfile.js
|
COPY ./gruntfile.js /opt/tellform/gruntfile.js
|
||||||
COPY ./server.js /opt/tellform/server.js
|
COPY ./server.js /opt/tellform/server.js
|
||||||
COPY ./.env /opt/tellform/.env
|
COPY ./.env /opt/tellform/.env
|
||||||
|
COPY ./scripts/create_admin.js /opt/tellform/scripts/create_admin.js
|
||||||
|
|
||||||
RUN grunt build
|
RUN grunt build
|
||||||
|
|
||||||
|
|
10
README.md
10
README.md
|
@ -111,8 +111,14 @@ Then run these commands
|
||||||
|
|
||||||
```
|
```
|
||||||
$ docker run -p 27017:27017 -d --name some-mongo mongo
|
$ docker run -p 27017:27017 -d --name some-mongo mongo
|
||||||
$ docker run -p 6379:6379 -d --name some-redis redis
|
$ docker run -p 127.0.0.1:6379:6379 -d --name some-redis redis
|
||||||
$ docker run --rm -p 3000:3000 --link some-redis:redis-db --link some-mongo:db tellform/development
|
$ docker run --rm -p 3000:3000 --link some-redis:redis-db --link some-mongo:db tellform/development -e MAILER_EMAIL_ID='mailer_username' \
|
||||||
|
-e POSTGRES_ENV_POSTGRES_PASSWORD='foo' \
|
||||||
|
-e POSTGRES_ENV_POSTGRES_USER='bar' \
|
||||||
|
-e POSTGRES_ENV_DB_NAME='mysite_staging' \
|
||||||
|
-e POSTGRES_PORT_5432_TCP_ADDR='docker-db-1.hidden.us-east-1.rds.amazonaws.com' \
|
||||||
|
-e SITE_URL='staging.mysite.com' \
|
||||||
|
-p 80:80 \
|
||||||
```
|
```
|
||||||
|
|
||||||
## Testing Your Application
|
## Testing Your Application
|
||||||
|
|
2
config/env/development.js
vendored
2
config/env/development.js
vendored
|
@ -3,7 +3,7 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
baseUrl: process.env.BASE_URL || 'http://localhost:5000',
|
baseUrl: process.env.BASE_URL || 'http://localhost:5000',
|
||||||
db: {
|
db: {
|
||||||
uri: 'mongodb://'+( process.env.DB_PORT_27017_TCP_ADDR || process.env.DB_HOST || 'localhost') +'/mean',
|
uri: 'mongodb://'+( process.env.DB_PORT_27017_TCP_ADDR || process.env.DB_HOST || '0.0.0.0') +'/mean',
|
||||||
options: {
|
options: {
|
||||||
user: '',
|
user: '',
|
||||||
pass: ''
|
pass: ''
|
||||||
|
|
2
config/env/production.js
vendored
2
config/env/production.js
vendored
|
@ -3,7 +3,7 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
baseUrl: process.env.BASE_URL || process.env.HEROKU_APP_NAME + '.herokuapp.com' || 'tellform.com',
|
baseUrl: process.env.BASE_URL || process.env.HEROKU_APP_NAME + '.herokuapp.com' || 'tellform.com',
|
||||||
db: {
|
db: {
|
||||||
uri: process.env.MONGODB_URI || process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/mean',
|
uri: process.env.MONGODB_URI || process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || '0.0.0.0') + '/mean',
|
||||||
},
|
},
|
||||||
port: process.env.PORT || 5000,
|
port: process.env.PORT || 5000,
|
||||||
socketUrl: process.env.SOCKET_URL || 'ws.tellform.com',
|
socketUrl: process.env.SOCKET_URL || 'ws.tellform.com',
|
||||||
|
|
|
@ -9,9 +9,12 @@ var config = require('./config'),
|
||||||
// Define the Socket.io configuration method
|
// Define the Socket.io configuration method
|
||||||
module.exports = function (app, db) {
|
module.exports = function (app, db) {
|
||||||
var server = http.createServer(app);
|
var server = http.createServer(app);
|
||||||
|
|
||||||
var io = socketio({ transports: ['websocket', 'polling'] });
|
var io = socketio({ transports: ['websocket', 'polling'] });
|
||||||
|
|
||||||
|
if(config.socketPort){
|
||||||
|
io = socketio(config.socketPort, { transports: ['websocket', 'polling'] });
|
||||||
|
}
|
||||||
|
|
||||||
if(process.env.DISABLE_CLUSTER_MODE !== "TRUE"){
|
if(process.env.DISABLE_CLUSTER_MODE !== "TRUE"){
|
||||||
var redis = require('socket.io-redis');
|
var redis = require('socket.io-redis');
|
||||||
io.adapter(redis( process.env.REDIS_URL || { host: process.env.REDIS_DB_PORT_6379_TCP_ADDR || '127.0.0.1' , port: process.env.REDIS_DB_PORT_6379_TCP_PORT || 6379 }));
|
io.adapter(redis( process.env.REDIS_URL || { host: process.env.REDIS_DB_PORT_6379_TCP_ADDR || '127.0.0.1' , port: process.env.REDIS_DB_PORT_6379_TCP_PORT || 6379 }));
|
||||||
|
|
|
@ -1,50 +1,45 @@
|
||||||
var init = require('../config/init')(),
|
var config = require('../config/config'),
|
||||||
config = require('../config/config'),
|
|
||||||
mongoose = require('mongoose'),
|
mongoose = require('mongoose'),
|
||||||
chalk = require('chalk'),
|
chalk = require('chalk'),
|
||||||
fs = require('fs-extra');
|
fs = require('fs-extra');
|
||||||
|
|
||||||
// Bootstrap db connection
|
exports.run = function(app, db, cb) {
|
||||||
var db = mongoose.connect(config.db.uri, config.db.options, function(err) {
|
|
||||||
if (err) {
|
|
||||||
console.error(chalk.red('Could not connect to MongoDB!'));
|
|
||||||
console.log(chalk.red(err));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
mongoose.connection.on('error', function(err) {
|
|
||||||
console.error(chalk.red('MongoDB connection error: ' + err));
|
|
||||||
process.exit(-1);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Init the express application
|
var User = mongoose.model('User');
|
||||||
var app = require('../config/express')(db);
|
|
||||||
|
|
||||||
// Bootstrap passport config
|
var email = config.ADMIN_EMAIL || 'admin@admin.com';
|
||||||
require('../config/passport')();
|
var username = config.ADMIN_USERNAME || 'admin';
|
||||||
|
var password = config.ADMIN_PASSWORD || 'admin';
|
||||||
|
|
||||||
var User = mongoose.model('User');
|
var newUser = new User({
|
||||||
require('../app/models/user.server.model.js');
|
firstName: 'Admin',
|
||||||
|
lastName: 'Account',
|
||||||
|
email: email,
|
||||||
|
username: username,
|
||||||
|
password: password,
|
||||||
|
provider: 'local',
|
||||||
|
roles: ['admin', 'user']
|
||||||
|
});
|
||||||
|
|
||||||
var email = process.env.ADMIN_EMAIL;
|
User.findOne({email: email}, function (err, user) {
|
||||||
var username = process.env.ADMIN_USERNAME;
|
if (err) {
|
||||||
var password = process.env.ADMIN_PASSWORD;
|
cb(err);
|
||||||
|
}
|
||||||
|
|
||||||
user = new User({
|
if(!user){
|
||||||
firstName: 'Admin',
|
newUser.save(function (err) {
|
||||||
lastName: 'Account',
|
if (err) {
|
||||||
email: email,
|
cb(err);
|
||||||
username: username,
|
}
|
||||||
password: password,
|
console.log(chalk.green('Successfully created Admin Account'));
|
||||||
provider: 'local',
|
delete email;
|
||||||
roles: ['admin', 'user']
|
delete password;
|
||||||
});
|
delete username;
|
||||||
|
|
||||||
user.save(function (err) {
|
cb(err);
|
||||||
if (err) return console.error(chalk.red(err));
|
});
|
||||||
console.log(chalk.green('Successfully created user'));
|
} else {
|
||||||
delete email;
|
cb('User already exists!');
|
||||||
delete password;
|
}
|
||||||
delete username;
|
})
|
||||||
|
}
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
|
|
12
server.js
12
server.js
|
@ -35,6 +35,18 @@ mongoose.connection.on('error', function (err) {
|
||||||
// Init the express application
|
// Init the express application
|
||||||
var app = require('./config/express')(db);
|
var app = require('./config/express')(db);
|
||||||
|
|
||||||
|
//Create admin account
|
||||||
|
if (process.env.CREATE_ADMIN_ACCOUNT === 'TRUE') {
|
||||||
|
var create_admin = require('./scripts/create_admin');
|
||||||
|
|
||||||
|
create_admin.run(app, db, function(err){
|
||||||
|
if(err){
|
||||||
|
console.error(chalk.red('Could not create Admin Account: ' + err));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Bootstrap passport config
|
// Bootstrap passport config
|
||||||
require('./config/passport')();
|
require('./config/passport')();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue