X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconfig.ts;h=30a9823b954d65ca9ca8c5589c0b7c2322620218;hb=99cb53fd5af3a13886e87c6aa224d777acee9fac;hp=930fd784e8fff4eccc84408b9e2d740356e179b3;hpb=9129b7694d577322327ee79e9b9aa64deee92765;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 930fd784e..30a9823b9 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -1,12 +1,13 @@ +import * as bytes from 'bytes' import { IConfig } from 'config' +import decache from 'decache' import { dirname, join } from 'path' +import { VideoRedundancyConfigFilter } from '@shared/models/redundancy/video-redundancy-config-filter.type' +import { BroadcastMessageLevel } from '@shared/models/server' import { VideosRedundancyStrategy } from '../../shared/models' +import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' // Do not use barrels, remain constants as independent as possible import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils' -import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' -import * as bytes from 'bytes' -import { VideoRedundancyConfigFilter } from '@shared/models/redundancy/video-redundancy-config-filter.type' -import { BroadcastMessageLevel } from '@shared/models/server' // Use a variable to reload the configuration if we need let config: IConfig = require('config') @@ -59,7 +60,7 @@ const CONFIG = { }, STORAGE: { TMP_DIR: buildPath(config.get('storage.tmp')), - AVATARS_DIR: buildPath(config.get('storage.avatars')), + ACTOR_IMAGES: buildPath(config.get('storage.avatars')), LOG_DIR: buildPath(config.get('storage.logs')), VIDEOS_DIR: buildPath(config.get('storage.videos')), STREAMING_PLAYLISTS_DIR: buildPath(config.get('storage.streaming_playlists')), @@ -133,6 +134,11 @@ const CONFIG = { REPORT_ONLY: config.get('csp.report_only'), REPORT_URI: config.get('csp.report_uri') }, + SECURITY: { + FRAMEGUARD: { + ENABLED: config.get('security.frameguard.enabled') + } + }, TRACKER: { ENABLED: config.get('tracker.enabled'), PRIVATE: config.get('tracker.private'), @@ -159,7 +165,14 @@ const CONFIG = { }, FEDERATION: { VIDEOS: { - FEDERATE_UNLISTED: config.get('federation.videos.federate_unlisted') + FEDERATE_UNLISTED: config.get('federation.videos.federate_unlisted'), + CLEANUP_REMOTE_INTERACTIONS: config.get('federation.videos.cleanup_remote_interactions') + } + }, + PEERTUBE: { + CHECK_LATEST_VERSION: { + ENABLED: config.get('peertube.check_latest_version.enabled'), + URL: config.get('peertube.check_latest_version.url') } }, ADMIN: { @@ -172,6 +185,7 @@ const CONFIG = { get ENABLED () { return config.get('signup.enabled') }, get LIMIT () { return config.get('signup.limit') }, get REQUIRES_EMAIL_VERIFICATION () { return config.get('signup.requires_email_verification') }, + get MINIMUM_AGE () { return config.get('signup.minimum_age') }, FILTERS: { CIDR: { get WHITELIST () { return config.get('signup.filters.cidr.whitelist') }, @@ -266,6 +280,9 @@ const CONFIG = { }, VIDEO_CAPTIONS: { get SIZE () { return config.get('cache.captions.size') } + }, + TORRENTS: { + get SIZE () { return config.get('cache.torrents.size') } } }, INSTANCE: { @@ -400,7 +417,7 @@ function buildVideosRedundancy (objs: any[]): VideosRedundancyStrategy[] { export function reloadConfig () { - function directory () { + function getConfigDirectory () { if (process.env.NODE_CONFIG_DIR) { return process.env.NODE_CONFIG_DIR } @@ -409,15 +426,17 @@ export function reloadConfig () { } function purge () { + const directory = getConfigDirectory() + for (const fileName in require.cache) { - if (fileName.includes(directory()) === false) { + if (fileName.includes(directory) === false) { continue } delete require.cache[fileName] } - delete require.cache[require.resolve('config')] + decache('config') } purge()