| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- 'use strict';
 
- process.env.NODE_CONFIG_DIR = `${__dirname}/config`;
 
- const async = require('async');
 
- const db = require('./logic/db');
 
- const app = require('./logic/app');
 
- const io = require('./logic/io');
 
- const stations = require('./logic/stations');
 
- const songs = require('./logic/songs');
 
- const playlists = require('./logic/playlists');
 
- const cache = require('./logic/cache');
 
- const notifications = require('./logic/notifications');
 
- const config = require('config');
 
- async.waterfall([
 
- 	// setup our Redis cache
 
- 	(next) => {
 
- 		cache.init(config.get('redis').url, () => {
 
- 			next();
 
- 		});
 
- 	},
 
- 	// setup our MongoDB database
 
- 	(next) => db.init(config.get("mongo").url, next),
 
- 	// setup the express server (not used right now, but may be used for OAuth stuff later, or for an API)
 
- 	(next) => app.init(next),
 
- 	// setup the socket.io server (all client / server communication is done over this)
 
- 	(next) => io.init(next),
 
- 	// setup the notifications
 
- 	(next) => notifications.init(config.get('redis').url, next),
 
- 	// setup the stations
 
- 	(next) => stations.init(next),
 
- 	// setup the songs
 
- 	(next) => songs.init(next),
 
- 	// setup the playlists
 
- 	(next) => playlists.init(next),
 
- 	// setup the frontend for local setups
 
- 	(next) => {
 
- 		if (!config.get("isDocker")) {
 
- 			const express = require('express');
 
- 			const app = express();
 
- 			const server = app.listen(80);
 
- 			app.use(express.static(__dirname + "/../frontend/build/"));
 
- 		}
 
- 		next();
 
- 	}
 
- ], (err) => {
 
- 	if (err && err !== true) {
 
- 		console.error('An error occurred while initializing the backend server');
 
- 		console.error(err);
 
- 	} else {
 
- 		console.info('Backend server has been successfully started');
 
- 	}
 
- });
 
 
  |