Client: fix ng2 bootstrap version that breaks change with patch versions...
[oweals/peertube.git] / server.js
index 9772ce92b63eb2fbb4e79108b960da7360618a99..b2eeeff70edcd6494f3cd23e30ad5a8a3e6cfeaf 100644 (file)
--- a/server.js
+++ b/server.js
@@ -13,6 +13,14 @@ const WebSocketServer = require('ws').Server
 // Create our main app
 const app = express()
 
+// ----------- Database -----------
+const config = require('config')
+const constants = require('./server/initializers/constants')
+const database = require('./server/initializers/database')
+const logger = require('./server/helpers/logger')
+
+database.connect()
+
 // ----------- Checker -----------
 const checker = require('./server/initializers/checker')
 
@@ -22,24 +30,18 @@ if (miss.length !== 0) {
 }
 
 // ----------- PeerTube modules -----------
-const config = require('config')
-const constants = require('./server/initializers/constants')
-const customValidators = require('./server/helpers/customValidators')
-const database = require('./server/initializers/database')
+const customValidators = require('./server/helpers/custom-validators')
 const installer = require('./server/initializers/installer')
-const logger = require('./server/helpers/logger')
-const poolRequests = require('./server/lib/poolRequests')
+const mongoose = require('mongoose')
 const routes = require('./server/controllers')
 const utils = require('./server/helpers/utils')
-const videos = require('./server/lib/videos')
 const webtorrent = require('./server/lib/webtorrent')
+const Request = mongoose.model('Request')
+const Video = mongoose.model('Video')
 
 // Get configurations
 const port = config.get('listen.port')
 
-// ----------- Database -----------
-database.connect()
-
 // ----------- Command line -----------
 
 // ----------- App -----------
@@ -56,28 +58,27 @@ app.use(expressValidator({
 
 // ----------- Views, routes and static files -----------
 
-// Livereload
-app.use(require('connect-livereload')({
-  port: 35729
-}))
-
 // Catch sefaults
 require('segfault-handler').registerHandler()
 
 // API routes
-const api_route = '/api/' + constants.API_VERSION
-app.use(api_route, routes.api)
+const apiRoute = '/api/' + constants.API_VERSION
+app.use(apiRoute, routes.api)
 
 // Static files
-app.use('/app', express.static(path.join(__dirname, '/client'), { maxAge: 0 }))
+app.use('/client', express.static(path.join(__dirname, '/client/dist'), { maxAge: 0 }))
 // 404 for static files not found
-app.use('/app/*', function (req, res, next) {
+app.use('/client/*', function (req, res, next) {
   res.sendStatus(404)
 })
 
+// Thumbnails path for express
+const thumbnailsPhysicalPath = path.join(__dirname, config.get('storage.thumbnails'))
+app.use(constants.THUMBNAILS_STATIC_PATH, express.static(thumbnailsPhysicalPath, { maxAge: 0 }))
+
 // Client application
 app.use('/*', function (req, res, next) {
-  res.sendFile(path.join(__dirname, 'client/index.html'))
+  res.sendFile(path.join(__dirname, 'client/dist/index.html'))
 })
 
 // ----------- Tracker -----------
@@ -137,9 +138,11 @@ installer.installApplication(function (err) {
     // ----------- Make the server listening -----------
     server.listen(port, function () {
       // Activate the pool requests
-      poolRequests.activate()
+      Request.activate()
+
+      Video.seedAllExisting(function (err) {
+        if (err) throw err
 
-      videos.seedAllExisting(function () {
         logger.info('Seeded all the videos')
         logger.info('Server listening on port %d', port)
         app.emit('ready')