feat(core): add new common variable configure file

This commit is contained in:
OldHawk
2018-03-16 11:57:30 +08:00
parent 689517d95e
commit 9017e430b8
6 changed files with 88 additions and 54 deletions

55
config/env/comm-variable.js vendored Normal file
View File

@@ -0,0 +1,55 @@
'use strict';
module.exports = {
variable: {
/**
* site settings
*/
site: {
site_name: 'MEAN.im',
site_namekey: 'MEAN',
site_host: '127.0.0.1',
site_port: 3000,
site_domain: 'http://localhost',
site_sessionSecret: 'mean.im.session.secret',
site_admin_mail: 'admin@mean.im',
site_webmaster_mail: 'webmaster@mean.im',
site_title: 'meanTorrent',
site_description: 'MEAN.JS BitTorrent - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js, a Private/Public BitTorrent Tracker CMS with Multilingual and IRC announce support',
site_keywords: 'mongodb, express, angularjs, node.js, mongoose, passport, torrent, bitTorrent, tracker, announce'
},
/**
* mongodb settings
*/
db: {
db_host: 'localhost',
db_name: 'mean-v2'
},
/**
* meanTorrent load movie and tvserial info from TMDB[https://www.themoviedb.org/], please get a access key at there and config in here
*/
tmdb: {
key: 'this is access key from tmdb'
},
/**
* meanTorrent need send mail to user when restore password, send invitations etc. before send these mail,
* you need change the mail options at here, meanTorrent used module nodemailer, if you have any config question you can find at nodemailer.
* nodemailer url: https://nodemailer.com/about/
*/
mailer: {
from: process.env.MAILER_FROM || 'admin@mean.im',
options: {
service: process.env.MAILER_SERVICE_PROVIDER || 'Gmail',
auth: {
user: process.env.MAILER_EMAIL_ID || 'sample@gmail.com',
pass: process.env.MAILER_PASSWORD || 'password'
}
}
}
}
};

16
config/env/default.js vendored
View File

@@ -1,20 +1,22 @@
'use strict';
var commonEnvConfig = require('./comm-variable');
module.exports = {
app: {
title: 'meanTorrent',
description: 'MEAN.JS BitTorrent - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js, a Private/Public BitTorrent Tracker CMS with Multilingual and IRC announce support',
keywords: 'mongodb, express, angularjs, node.js, mongoose, passport, torrent, bitTorrent, tracker, announce',
title: commonEnvConfig.variable.site.site_title,
description: commonEnvConfig.variable.site.site_description,
keywords: commonEnvConfig.variable.site.site_keywords,
googleAnalyticsTrackingID: process.env.GOOGLE_ANALYTICS_TRACKING_ID || 'GOOGLE_ANALYTICS_TRACKING_ID'
},
db: {
promise: global.Promise
},
port: process.env.PORT || 3000,
host: process.env.HOST || '0.0.0.0',
port: process.env.PORT || commonEnvConfig.variable.site.site_port,
host: process.env.HOST || commonEnvConfig.variable.site.site_host,
// DOMAIN config should be set to the fully qualified application accessible
// URL. For example: https://www.myapp.com (including port if required).
domain: process.env.DOMAIN || 'mean.im',
domain: process.env.DOMAIN || commonEnvConfig.variable.site.site_domain,
// Session Cookie settings
sessionCookie: {
// session expiration is set by default to 24 hours
@@ -28,7 +30,7 @@ module.exports = {
secure: false
},
// sessionSecret should be changed for security measures and concerns
sessionSecret: process.env.SESSION_SECRET || 'imean.io.secret',
sessionSecret: process.env.SESSION_SECRET || commonEnvConfig.variable.site.site_sessionSecret,
// sessionKey is the cookie session name
sessionKey: 'sessionId',
sessionCollection: 'sessions',

View File

@@ -1,10 +1,11 @@
'use strict';
var defaultEnvConfig = require('./default');
var commonEnvConfig = require('./comm-variable');
module.exports = {
db: {
uri: process.env.MONGOHQ_URL || process.env.MONGODB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/mean-dev-v2',
uri: process.env.MONGOHQ_URL || process.env.MONGODB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || commonEnvConfig.variable.db.db_host) + '/' + commonEnvConfig.variable.db.db_name + '-dev',
options: {},
// Enable mongoose debug mode
debug: process.env.MONGODB_DEBUG || false
@@ -56,16 +57,7 @@ module.exports = {
callbackURL: '/api/auth/paypal/callback',
sandbox: true
},
mailer: {
from: process.env.MAILER_FROM || 'admin@chd.im',
options: {
service: process.env.MAILER_SERVICE_PROVIDER || 'Gmail',
auth: {
user: process.env.MAILER_EMAIL_ID || 'taobataoma@gmail.com',
pass: process.env.MAILER_PASSWORD || 'ykyghbmpjfdliyph'
}
}
},
mailer: commonEnvConfig.variable.mailer,
livereload: true,
seedDB: {
seed: process.env.MONGO_SEED === 'true',

View File

@@ -1,6 +1,6 @@
'use strict';
var fs = require('fs');
var commonEnvConfig = require('./comm-variable');
module.exports = {
secure: {
@@ -12,7 +12,7 @@ module.exports = {
port: process.env.PORT || 3001,
host: process.env.HOST || 'mean.im',
db: {
uri: process.env.MONGOHQ_URL || process.env.MONGODB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/mean-demo-v2',
uri: process.env.MONGOHQ_URL || process.env.MONGODB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || commonEnvConfig.variable.db.db_host) + '/' + commonEnvConfig.variable.db.db_name,
options: {
/**
* Uncomment to enable ssl certificate based authentication to mongodb
@@ -77,16 +77,7 @@ module.exports = {
callbackURL: '/api/auth/paypal/callback',
sandbox: false
},
mailer: {
from: process.env.MAILER_FROM || 'admin@chd.im',
options: {
service: process.env.MAILER_SERVICE_PROVIDER || 'Gmail',
auth: {
user: process.env.MAILER_EMAIL_ID || 'taobataoma@gmail.com',
pass: process.env.MAILER_PASSWORD || 'ykyghbmpjfdliyph'
}
}
},
mailer: commonEnvConfig.variable.mailer,
seedDB: {
seed: process.env.MONGO_SEED === 'true',
options: {

16
config/env/test.js vendored
View File

@@ -1,10 +1,11 @@
'use strict';
var defaultEnvConfig = require('./default');
var commonEnvConfig = require('./comm-variable');
module.exports = {
db: {
uri: process.env.MONGOHQ_URL || process.env.MONGODB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/mean-test',
uri: process.env.MONGOHQ_URL || process.env.MONGODB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || commonEnvConfig.variable.db.db_host) + '/' + commonEnvConfig.variable.db.db_name + '-test',
options: {},
// Enable mongoose debug mode
debug: process.env.MONGODB_DEBUG || false
@@ -21,7 +22,7 @@ module.exports = {
// json: false
// }
},
port: process.env.PORT || 3001,
port: process.env.PORT || commonEnvConfig.variable.site.site_port,
app: {
title: defaultEnvConfig.app.title + ' - Test Environment'
},
@@ -67,16 +68,7 @@ module.exports = {
callbackURL: '/api/auth/paypal/callback',
sandbox: true
},
mailer: {
from: process.env.MAILER_FROM || 'MAILER_FROM',
options: {
service: process.env.MAILER_SERVICE_PROVIDER || 'MAILER_SERVICE_PROVIDER',
auth: {
user: process.env.MAILER_EMAIL_ID || 'MAILER_EMAIL_ID',
pass: process.env.MAILER_PASSWORD || 'MAILER_PASSWORD'
}
}
},
mailer: commonEnvConfig.variable.mailer,
seedDB: {
seed: process.env.MONGO_SEED === 'true',
options: {

View File

@@ -1,5 +1,7 @@
'use strict';
var commonEnvConfig = require('./comm-variable');
module.exports = {
/**------------------------------------------------------------------------------------------------
@@ -26,8 +28,8 @@ module.exports = {
* if web server used proxyPass setting, this should set to false
*/
app: {
name: 'MEAN.im',
domain: 'http://mean.im',
name: commonEnvConfig.variable.site.site_name,
domain: commonEnvConfig.variable.site.site_domain,
showDemoWarningPopup: true,
cronTimeZone: 'Asia/Shanghai',
showDebugLog: true,
@@ -94,10 +96,10 @@ module.exports = {
*/
announce: {
url: '/announce',
comment: 'meanTorrent group',
comment: commonEnvConfig.variable.site.site_name + ' group',
announceInterval: 60 * 1000 * 5,
announcePrefix: '{MEAN.im}.',
admin: 'admin@mean.im',
announcePrefix: '{' + commonEnvConfig.variable.site.site_namekey + '}.',
admin: commonEnvConfig.variable.site.site_admin_mail,
clientBlackListUrl: '/about/black',
privateTorrentCmsMode: true,
downloadCheck: {
@@ -137,9 +139,9 @@ module.exports = {
title: '[%s] - RSS torrents',
description: 'Latest torrents from [%s]',
copyright: 'Copyright (c) [%s] 2012-2017, all rights reserved',
managingEditor: 'admin@mean.im (%s Admin)',
webMaster: 'webmaster@mean.im (%s Webmaster)',
generator: 'meanTorrent RSS Generator',
managingEditor: commonEnvConfig.variable.site.site_admin_mail + ' (%s Admin)',
webMaster: commonEnvConfig.variable.site.site_webmaster_mail + ' (%s Webmaster)',
generator: commonEnvConfig.variable.site.site_name + ' RSS Generator',
ttl: 60,
image_url: '/modules/core/client/img/rss.jpeg'
},
@@ -195,10 +197,10 @@ module.exports = {
debug: false,
server: 'irc.mean.im',
port: 16667,
nick: 'meanAnnouncer',
nick: commonEnvConfig.variable.site.site_namekey.toLowerCase() + 'Announcer',
userName: 'meanTorrent',
realName: 'IRC announce client',
channel: '#meanAnnounce',
channel: '#' + commonEnvConfig.variable.site.site_namekey.toLowerCase() + 'Announce',
defaultMsgFormat: '%s uploaded - torrent: %s, type: %s, size: %d, sale: %s, url: %s, at %s',
tvserialMsgFormat: '%s uploaded - torrent: %s, type: %s, size: %d, seasons: %d, episodes: %s, sale: %s, url: %s, at %s',
showErrors: true,
@@ -971,7 +973,7 @@ module.exports = {
* @castImgBaseUrl: image link url
*/
tmdbConfig: {
key: '7888f0042a366f63289ff571b68b7ce0',
key: commonEnvConfig.variable.tmdb.key,
tmdbHome: 'https://www.themoviedb.org',
tmdbMovieLinkUrl: 'https://www.themoviedb.org/movie/',
tmdbTvserialLinkUrl: 'https://www.themoviedb.org/tv/',
@@ -1004,7 +1006,7 @@ module.exports = {
*/
voteTitle: {
imdb: 'IMDB',
mt: 'MEAN'
mt: commonEnvConfig.variable.site.site_namekey
},
/**