X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server.ts;h=b75c78b0764b506038a5abce15c18a25154c2062;hb=9b474844e85cce916370693cc24f53339a695570;hp=2f5f39db237780d2ee16fcf357ca105053b4e6b7;hpb=345da516fae80f24c90c2196e96393b489af2243;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server.ts b/server.ts index 2f5f39db2..b75c78b07 100644 --- a/server.ts +++ b/server.ts @@ -1,4 +1,6 @@ // 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' @@ -95,7 +97,6 @@ import { staticRouter, servicesRouter, pluginsRouter, - themesRouter, webfingerRouter, trackerRouter, createWebsocketTrackerServer, botsRouter @@ -112,11 +113,13 @@ import { RemoveOldHistoryScheduler } from './server/lib/schedulers/remove-old-hi 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 ----------- cli .option('--no-client', 'Start PeerTube without client interface') + .option('--no-plugins', 'Start PeerTube without plugins/themes enabled') .parse(process.argv) // ----------- App ----------- @@ -176,8 +179,7 @@ app.use(apiRoute, apiRouter) app.use('/services', servicesRouter) // Plugins & themes -app.use('/plugins', pluginsRouter) -app.use('/themes', themesRouter) +app.use('/', pluginsRouter) app.use('/', activityPubRouter) app.use('/', feedsRouter) @@ -250,6 +252,7 @@ async function startApplication () { VideosRedundancyScheduler.Instance.enable() RemoveOldHistoryScheduler.Instance.enable() RemoveOldViewsScheduler.Instance.enable() + PluginsCheckScheduler.Instance.enable() // Redis initialization Redis.Instance.init() @@ -259,10 +262,14 @@ async function startApplication () { updateStreamingPlaylistsInfohashesIfNeeded() .catch(err => logger.error('Cannot update streaming playlist infohashes.', { err })) + if (cli.plugins) 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', () => {