aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/initializers
diff options
context:
space:
mode:
Diffstat (limited to 'server/initializers')
-rw-r--r--server/initializers/checker.js46
-rw-r--r--server/initializers/constants.js42
-rw-r--r--server/initializers/database.js29
3 files changed, 117 insertions, 0 deletions
diff --git a/server/initializers/checker.js b/server/initializers/checker.js
new file mode 100644
index 000000000..ec7bc0ad2
--- /dev/null
+++ b/server/initializers/checker.js
@@ -0,0 +1,46 @@
1'use strict'
2
3var config = require('config')
4var mkdirp = require('mkdirp')
5var path = require('path')
6
7var checker = {
8 checkConfig: checkConfig,
9 createDirectoriesIfNotExist: createDirectoriesIfNotExist
10}
11
12// Check the config files
13function checkConfig () {
14 var required = [ 'listen.port',
15 'webserver.https', 'webserver.host', 'webserver.port',
16 'database.host', 'database.port', 'database.suffix',
17 'storage.certs', 'storage.uploads', 'storage.logs',
18 'network.friends' ]
19 var miss = []
20
21 for (var key of required) {
22 if (!config.has(key)) {
23 miss.push(key)
24 }
25 }
26
27 return miss
28}
29
30// Create directories for the storage if it doesn't exist
31function createDirectoriesIfNotExist () {
32 var storages = config.get('storage')
33
34 for (var key of Object.keys(storages)) {
35 var dir = storages[key]
36 try {
37 mkdirp.sync(path.join(__dirname, '..', dir))
38 } catch (error) {
39 throw new Error('Cannot create ' + path + ':' + error)
40 }
41 }
42}
43
44// ---------------------------------------------------------------------------
45
46module.exports = checker
diff --git a/server/initializers/constants.js b/server/initializers/constants.js
new file mode 100644
index 000000000..16e50443b
--- /dev/null
+++ b/server/initializers/constants.js
@@ -0,0 +1,42 @@
1'use strict'
2
3// API version of our pod
4var API_VERSION = 'v1'
5
6// Score a pod has when we create it as a friend
7var FRIEND_BASE_SCORE = 100
8
9// Time to wait between requests to the friends
10var INTERVAL = 60000
11
12// Number of points we add/remove from a friend after a successful/bad request
13var PODS_SCORE = {
14 MALUS: -10,
15 BONUS: 10
16}
17
18// Number of retries we make for the make retry requests (to friends...)
19var REQUEST_RETRIES = 10
20
21// Special constants for a test instance
22if (isTestInstance() === true) {
23 FRIEND_BASE_SCORE = 20
24 INTERVAL = 10000
25 REQUEST_RETRIES = 2
26}
27
28// ---------------------------------------------------------------------------
29
30module.exports = {
31 API_VERSION: API_VERSION,
32 FRIEND_BASE_SCORE: FRIEND_BASE_SCORE,
33 INTERVAL: INTERVAL,
34 PODS_SCORE: PODS_SCORE,
35 REQUEST_RETRIES: REQUEST_RETRIES
36}
37
38// ---------------------------------------------------------------------------
39
40function isTestInstance () {
41 return (process.env.NODE_ENV === 'test')
42}
diff --git a/server/initializers/database.js b/server/initializers/database.js
new file mode 100644
index 000000000..a917442ec
--- /dev/null
+++ b/server/initializers/database.js
@@ -0,0 +1,29 @@
1'use strict'
2
3var config = require('config')
4var mongoose = require('mongoose')
5
6var logger = require('../helpers/logger')
7
8var dbname = 'peertube' + config.get('database.suffix')
9var host = config.get('database.host')
10var port = config.get('database.port')
11
12var database = {
13 connect: connect
14}
15
16function connect () {
17 mongoose.connect('mongodb://' + host + ':' + port + '/' + dbname)
18 mongoose.connection.on('error', function () {
19 throw new Error('Mongodb connection error.')
20 })
21
22 mongoose.connection.on('open', function () {
23 logger.info('Connected to mongodb.')
24 })
25}
26
27// ---------------------------------------------------------------------------
28
29module.exports = database