app.set('trust proxy', CONFIG.TRUST_PROXY)
// Security middleware
+import { baseCSP } from './server/middlewares'
+
+app.use(baseCSP)
app.use(helmet({
frameguard: {
action: 'deny' // we only allow it for /videos/embed, see server/controllers/client.ts
servicesRouter,
webfingerRouter,
trackerRouter,
- createWebsocketServer
+ createWebsocketServer, botsRouter
} from './server/controllers'
import { advertiseDoNotTrack } from './server/middlewares/dnt'
import { Redis } from './server/lib/redis'
app.use('/', feedsRouter)
app.use('/', webfingerRouter)
app.use('/', trackerRouter)
+app.use('/', botsRouter)
// Static files
app.use('/', staticRouter)
// Email initialization
Emailer.Instance.init()
- await Emailer.Instance.checkConnectionOrDie()
- await JobQueue.Instance.init()
+ await Promise.all([
+ Emailer.Instance.checkConnectionOrDie(),
+ JobQueue.Instance.init()
+ ])
// Caches initializations
VideosPreviewCache.Instance.init(CONFIG.CACHE.PREVIEWS.SIZE, CACHE.PREVIEWS.MAX_AGE)