// FIXME: https://github.com/nodejs/node/pull/16853
+import { PluginManager } from './server/lib/plugins/plugin-manager'
+
require('tls').DEFAULT_ECDH_CURVE = 'auto'
import { isTestInstance } from './server/helpers/core-utils'
feedsRouter,
staticRouter,
servicesRouter,
+ pluginsRouter,
webfingerRouter,
trackerRouter,
createWebsocketTrackerServer, botsRouter
import { isHTTPSignatureDigestValid } from './server/helpers/peertube-crypto'
import { PeerTubeSocket } from './server/lib/peertube-socket'
import { updateStreamingPlaylistsInfohashesIfNeeded } from './server/lib/hls'
+import { PluginsCheckScheduler } from './server/lib/schedulers/plugins-check-scheduler'
// ----------- Command line -----------
// Services (oembed...)
app.use('/services', servicesRouter)
+// Plugins & themes
+app.use('/', pluginsRouter)
+
app.use('/', activityPubRouter)
app.use('/', feedsRouter)
app.use('/', webfingerRouter)
VideosRedundancyScheduler.Instance.enable()
RemoveOldHistoryScheduler.Instance.enable()
RemoveOldViewsScheduler.Instance.enable()
+ PluginsCheckScheduler.Instance.enable()
// Redis initialization
Redis.Instance.init()
updateStreamingPlaylistsInfohashesIfNeeded()
.catch(err => logger.error('Cannot update streaming playlist infohashes.', { err }))
+ await PluginManager.Instance.registerPluginsAndThemes()
+
// Make server listening
server.listen(port, hostname, () => {
logger.info('Server listening on %s:%d', hostname, port)
logger.info('Web server: %s', WEBSERVER.URL)
+
+ PluginManager.Instance.runHook('action:application.listening')
})
process.on('exit', () => {