PLUGINS_DIR: buildPath(config.get<string>('storage.plugins')),
CLIENT_OVERRIDES_DIR: buildPath(config.get<string>('storage.client_overrides'))
},
+ OBJECT_STORAGE: {
+ ENABLED: config.get<boolean>('object_storage.enabled'),
+ MAX_UPLOAD_PART: bytes.parse(config.get<string>('object_storage.max_upload_part')),
+ ENDPOINT: config.get<string>('object_storage.endpoint'),
+ REGION: config.get<string>('object_storage.region'),
+ CREDENTIALS: {
+ ACCESS_KEY_ID: config.get<string>('object_storage.credentials.access_key_id'),
+ SECRET_ACCESS_KEY: config.get<string>('object_storage.credentials.secret_access_key')
+ },
+ VIDEOS: {
+ BUCKET_NAME: config.get<string>('object_storage.videos.bucket_name'),
+ PREFIX: config.get<string>('object_storage.videos.prefix'),
+ BASE_URL: config.get<string>('object_storage.videos.base_url')
+ },
+ STREAMING_PLAYLISTS: {
+ BUCKET_NAME: config.get<string>('object_storage.streaming_playlists.bucket_name'),
+ PREFIX: config.get<string>('object_storage.streaming_playlists.prefix'),
+ BASE_URL: config.get<string>('object_storage.streaming_playlists.base_url')
+ }
+ },
WEBSERVER: {
SCHEME: config.get<boolean>('webserver.https') === true ? 'https' : 'http',
WS: config.get<boolean>('webserver.https') === true ? 'wss' : 'ws',
REPORT_ONLY: config.get<boolean>('csp.report_only'),
REPORT_URI: config.get<string>('csp.report_uri')
},
+ SECURITY: {
+ FRAMEGUARD: {
+ ENABLED: config.get<boolean>('security.frameguard.enabled')
+ }
+ },
TRACKER: {
ENABLED: config.get<boolean>('tracker.enabled'),
PRIVATE: config.get<boolean>('tracker.private'),
get ENABLED () { return config.get<boolean>('signup.enabled') },
get LIMIT () { return config.get<number>('signup.limit') },
get REQUIRES_EMAIL_VERIFICATION () { return config.get<boolean>('signup.requires_email_verification') },
+ get MINIMUM_AGE () { return config.get<number>('signup.minimum_age') },
FILTERS: {
CIDR: {
get WHITELIST () { return config.get<string[]>('signup.filters.cidr.whitelist') },