X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconfig.ts;h=f2d8f99b52a687ce76b73beae919fbee879c792b;hb=6a4905602636afd6650c9e6f4d0fcc2105d91100;hp=2f59e3e3e2ef8b7dec3cea039478a4985cac41ad;hpb=3eba7ab8154027621989cdd4814bc749d79bf0c9;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 2f59e3e3e..f2d8f99b5 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -20,6 +20,9 @@ const CONFIG = { PORT: config.get('listen.port'), HOSTNAME: config.get('listen.hostname') }, + SECRETS: { + PEERTUBE: config.get('secrets.peertube') + }, DATABASE: { DBNAME: config.has('database.name') ? config.get('database.name') : 'peertube' + config.get('database.suffix'), HOSTNAME: config.get('database.hostname'), @@ -95,6 +98,7 @@ const CONFIG = { STORAGE: { TMP_DIR: buildPath(config.get('storage.tmp')), + TMP_PERSISTENT_DIR: buildPath(config.get('storage.tmp_persistent')), BIN_DIR: buildPath(config.get('storage.bin')), ACTOR_IMAGES: buildPath(config.get('storage.avatars')), LOG_DIR: buildPath(config.get('storage.logs')), @@ -107,18 +111,28 @@ const CONFIG = { TORRENTS_DIR: buildPath(config.get('storage.torrents')), CACHE_DIR: buildPath(config.get('storage.cache')), PLUGINS_DIR: buildPath(config.get('storage.plugins')), - CLIENT_OVERRIDES_DIR: buildPath(config.get('storage.client_overrides')) + CLIENT_OVERRIDES_DIR: buildPath(config.get('storage.client_overrides')), + WELL_KNOWN_DIR: buildPath(config.get('storage.well_known')) + }, + STATIC_FILES: { + PRIVATE_FILES_REQUIRE_AUTH: config.get('static_files.private_files_require_auth') }, OBJECT_STORAGE: { ENABLED: config.get('object_storage.enabled'), MAX_UPLOAD_PART: bytes.parse(config.get('object_storage.max_upload_part')), ENDPOINT: config.get('object_storage.endpoint'), REGION: config.get('object_storage.region'), - UPLOAD_ACL: config.get('object_storage.upload_acl'), + UPLOAD_ACL: { + PUBLIC: config.get('object_storage.upload_acl.public'), + PRIVATE: config.get('object_storage.upload_acl.private') + }, CREDENTIALS: { ACCESS_KEY_ID: config.get('object_storage.credentials.access_key_id'), SECRET_ACCESS_KEY: config.get('object_storage.credentials.secret_access_key') }, + PROXY: { + PROXIFY_PRIVATE_FILES: config.get('object_storage.proxy.proxify_private_files') + }, VIDEOS: { BUCKET_NAME: config.get('object_storage.videos.bucket_name'), PREFIX: config.get('object_storage.videos.prefix'), @@ -136,6 +150,12 @@ const CONFIG = { HOSTNAME: config.get('webserver.hostname'), PORT: config.get('webserver.port') }, + OAUTH2: { + TOKEN_LIFETIME: { + ACCESS_TOKEN: parseDurationToMs(config.get('oauth2.token_lifetime.access_token')), + REFRESH_TOKEN: parseDurationToMs(config.get('oauth2.token_lifetime.refresh_token')) + } + }, RATES_LIMIT: { API: { WINDOW_MS: parseDurationToMs(config.get('rates_limit.api.window')), @@ -149,6 +169,10 @@ const CONFIG = { WINDOW_MS: parseDurationToMs(config.get('rates_limit.login.window')), MAX: config.get('rates_limit.login.max') }, + RECEIVE_CLIENT_LOG: { + WINDOW_MS: parseDurationToMs(config.get('rates_limit.receive_client_log.window')), + MAX: config.get('rates_limit.receive_client_log.max') + }, ASK_SEND_EMAIL: { WINDOW_MS: parseDurationToMs(config.get('rates_limit.ask_send_email.window')), MAX: config.get('rates_limit.ask_send_email.max') @@ -164,7 +188,30 @@ const CONFIG = { }, ANONYMIZE_IP: config.get('log.anonymize_ip'), LOG_PING_REQUESTS: config.get('log.log_ping_requests'), - PRETTIFY_SQL: config.get('log.prettify_sql') + LOG_TRACKER_UNKNOWN_INFOHASH: config.get('log.log_tracker_unknown_infohash'), + PRETTIFY_SQL: config.get('log.prettify_sql'), + ACCEPT_CLIENT_LOG: config.get('log.accept_client_log') + }, + OPEN_TELEMETRY: { + METRICS: { + ENABLED: config.get('open_telemetry.metrics.enabled'), + + HTTP_REQUEST_DURATION: { + ENABLED: config.get('open_telemetry.metrics.http_request_duration.enabled') + }, + + PROMETHEUS_EXPORTER: { + HOSTNAME: config.get('open_telemetry.metrics.prometheus_exporter.hostname'), + PORT: config.get('open_telemetry.metrics.prometheus_exporter.port') + } + }, + TRACING: { + ENABLED: config.get('open_telemetry.tracing.enabled'), + + JAEGER_EXPORTER: { + ENDPOINT: config.get('open_telemetry.tracing.jaeger_exporter.endpoint') + } + } }, TRENDING: { VIDEOS: { @@ -194,6 +241,9 @@ const CONFIG = { SECURITY: { FRAMEGUARD: { ENABLED: config.get('security.frameguard.enabled') + }, + POWERED_BY_HEADER: { + ENABLED: config.get('security.powered_by_header.enabled') } }, TRACKER: { @@ -247,6 +297,20 @@ const CONFIG = { } } }, + FEEDS: { + VIDEOS: { + COUNT: config.get('feeds.videos.count') + }, + COMMENTS: { + COUNT: config.get('feeds.comments.count') + } + }, + REMOTE_RUNNERS: { + STALLED_JOBS: { + LIVE: parseDurationToMs(config.get('remote_runners.stalled_jobs.live')), + VOD: parseDurationToMs(config.get('remote_runners.stalled_jobs.vod')) + } + }, ADMIN: { get EMAIL () { return config.get('admin.email') } }, @@ -255,6 +319,7 @@ const CONFIG = { }, SIGNUP: { get ENABLED () { return config.get('signup.enabled') }, + get REQUIRES_APPROVAL () { return config.get('signup.requires_approval') }, 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') }, @@ -266,6 +331,11 @@ const CONFIG = { } }, USER: { + HISTORY: { + VIDEOS: { + get ENABLED () { return config.get('user.history.videos.enabled') } + } + }, get VIDEO_QUOTA () { return parseBytes(config.get('user.video_quota')) }, get VIDEO_QUOTA_DAILY () { return parseBytes(config.get('user.video_quota_daily')) } }, @@ -279,6 +349,7 @@ const CONFIG = { get THREADS () { return config.get('transcoding.threads') }, get CONCURRENCY () { return config.get('transcoding.concurrency') }, get PROFILE () { return config.get('transcoding.profile') }, + get ALWAYS_TRANSCODE_ORIGINAL_RESOLUTION () { return config.get('transcoding.always_transcode_original_resolution') }, RESOLUTIONS: { get '0p' () { return config.get('transcoding.resolutions.0p') }, get '144p' () { return config.get('transcoding.resolutions.144p') }, @@ -295,6 +366,9 @@ const CONFIG = { }, WEBTORRENT: { get ENABLED () { return config.get('transcoding.webtorrent.enabled') } + }, + REMOTE_RUNNERS: { + get ENABLED () { return config.get('transcoding.remote_runners.enabled') } } }, LIVE: { @@ -331,6 +405,8 @@ const CONFIG = { get THREADS () { return config.get('live.transcoding.threads') }, get PROFILE () { return config.get('live.transcoding.profile') }, + get ALWAYS_TRANSCODE_ORIGINAL_RESOLUTION () { return config.get('live.transcoding.always_transcode_original_resolution') }, + RESOLUTIONS: { get '144p' () { return config.get('live.transcoding.resolutions.144p') }, get '240p' () { return config.get('live.transcoding.resolutions.240p') }, @@ -340,6 +416,9 @@ const CONFIG = { get '1080p' () { return config.get('live.transcoding.resolutions.1080p') }, get '1440p' () { return config.get('live.transcoding.resolutions.1440p') }, get '2160p' () { return config.get('live.transcoding.resolutions.2160p') } + }, + REMOTE_RUNNERS: { + get ENABLED () { return config.get('live.transcoding.remote_runners.enabled') } } } }, @@ -365,6 +444,17 @@ const CONFIG = { TORRENT: { get ENABLED () { return config.get('import.videos.torrent.enabled') } } + }, + VIDEO_CHANNEL_SYNCHRONIZATION: { + get ENABLED () { return config.get('import.video_channel_synchronization.enabled') }, + get MAX_PER_USER () { return config.get('import.video_channel_synchronization.max_per_user') }, + get CHECK_INTERVAL () { return parseDurationToMs(config.get('import.video_channel_synchronization.check_interval')) }, + get VIDEOS_LIMIT_PER_SYNCHRONIZATION () { + return config.get('import.video_channel_synchronization.videos_limit_per_synchronization') + }, + get FULL_SYNC_VIDEOS_LIMIT () { + return config.get('import.video_channel_synchronization.full_sync_videos_limit') + } } }, AUTO_BLACKLIST: { @@ -466,6 +556,7 @@ const CONFIG = { get IS_DEFAULT_SEARCH () { return config.get('search.search_index.is_default_search') } } } + } function registerConfigChangedHandler (fun: Function) {