]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server.ts
Fix lint
[github/Chocobozzz/PeerTube.git] / server.ts
index e7fa99c90d49f4965a1b315c3ba0438c156c1f58..80bf118c010aa582e9f2c02e2036df7226051b12 100644 (file)
--- a/server.ts
+++ b/server.ts
@@ -23,31 +23,32 @@ process.title = 'peertube'
 // Create our main app
 const app = express()
 
-// ----------- Database -----------
-// Do not use barels because we don't want to load all modules here (we need to initialize database first)
-import { logger } from './server/helpers/logger'
-import { API_VERSION, CONFIG } from './server/initializers/constants'
-// Initialize database and models
-import { database as db } from './server/initializers/database'
-db.init(false).then(() => onDatabaseInitDone())
-
-// ----------- Checker -----------
+// ----------- Core checker -----------
 import { checkMissedConfig, checkFFmpeg, checkConfig } from './server/initializers/checker'
 
 const missed = checkMissedConfig()
 if (missed.length !== 0) {
-  throw new Error('Miss some configurations keys : ' + missed)
+  throw new Error('Your configuration files miss keys: ' + missed)
 }
-checkFFmpeg()
+
+import { API_VERSION, CONFIG, STATIC_PATHS } from './server/initializers/constants'
+checkFFmpeg(CONFIG)
 
 const errorMessage = checkConfig()
 if (errorMessage !== null) {
   throw new Error(errorMessage)
 }
 
+// ----------- Database -----------
+// Do not use barrels because we don't want to load all modules here (we need to initialize database first)
+import { logger } from './server/helpers/logger'
+// Initialize database and models
+import { database as db } from './server/initializers/database'
+db.init(false).then(() => onDatabaseInitDone())
+
 // ----------- PeerTube modules -----------
 import { migrate, installApplication } from './server/initializers'
-import { JobScheduler, activateSchedulers } from './server/lib'
+import { JobScheduler, activateSchedulers, VideosPreviewCache } from './server/lib'
 import * as customValidators from './server/helpers/custom-validators'
 import { apiRouter, clientsRouter, staticRouter } from './server/controllers'
 
@@ -55,12 +56,22 @@ import { apiRouter, clientsRouter, staticRouter } from './server/controllers'
 
 // ----------- App -----------
 
-// Enable cors for develop
+// Enable CORS for develop
 if (isTestInstance()) {
-  app.use(cors({
-    origin: 'http://localhost:3000',
-    credentials: true
-  }))
+  app.use((req, res, next) => {
+    // These routes have already cors
+    if (
+      req.path.indexOf(STATIC_PATHS.TORRENTS) === -1 &&
+      req.path.indexOf(STATIC_PATHS.WEBSEED) === -1
+    ) {
+      return (cors({
+        origin: 'http://localhost:3000',
+        credentials: true
+      }))(req, res, next)
+    }
+
+    return next()
+  })
 }
 
 // For the logger
@@ -147,8 +158,10 @@ function onDatabaseInitDone () {
         // Activate job scheduler
         JobScheduler.Instance.activate()
 
+        VideosPreviewCache.Instance.init(CONFIG.CACHE.PREVIEWS.SIZE)
+
         logger.info('Server listening on port %d', port)
-        logger.info('Webserver: %s', CONFIG.WEBSERVER.URL)
+        logger.info('Web server: %s', CONFIG.WEBSERVER.URL)
       })
     })
 }