// 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'
staticRouter,
servicesRouter,
pluginsRouter,
- themesRouter,
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 -----------
app.use('/services', servicesRouter)
// Plugins & themes
-app.use('/plugins', pluginsRouter)
-app.use('/themes', themesRouter)
+app.use('/', pluginsRouter)
app.use('/', activityPubRouter)
app.use('/', feedsRouter)
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', () => {