X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconfig.ts;h=51ac5d0ce04a7cf190acd23d42ff8b747902610d;hb=d3fcf1c57ab898e18654910e880875a911fbd128;hp=c76a839bc76f6b58c9c49b0df69d19572cba72eb;hpb=0c9a83546687d2ae80b3f5299a8ee59d741f894f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/config.ts b/server/initializers/config.ts index c76a839bc..51ac5d0ce 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'), @@ -36,7 +39,13 @@ const CONFIG = { PORT: config.has('redis.port') ? config.get('redis.port') : null, SOCKET: config.has('redis.socket') ? config.get('redis.socket') : null, AUTH: config.has('redis.auth') ? config.get('redis.auth') : null, - DB: config.has('redis.db') ? config.get('redis.db') : null + DB: config.has('redis.db') ? config.get('redis.db') : null, + SENTINEL: { + ENABLED: config.has('redis.sentinel.enabled') ? config.get('redis.sentinel.enabled') : false, + ENABLE_TLS: config.has('redis.sentinel.enable_tls') ? config.get('redis.sentinel.enable_tls') : false, + SENTINELS: config.has('redis.sentinel.sentinels') ? config.get<{ hostname: string, port: number }[]>('redis.sentinel.sentinels') : [], + MASTER_NAME: config.has('redis.sentinel.master_name') ? config.get('redis.sentinel.master_name') : null + } }, SMTP: { TRANSPORT: config.has('smtp.transport') ? config.get('smtp.transport') : 'smtp', @@ -95,6 +104,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 +117,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 +156,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 +175,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 +194,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 +247,9 @@ const CONFIG = { SECURITY: { FRAMEGUARD: { ENABLED: config.get('security.frameguard.enabled') + }, + POWERED_BY_HEADER: { + ENABLED: config.get('security.powered_by_header.enabled') } }, TRACKER: { @@ -255,6 +311,12 @@ const CONFIG = { 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') } }, @@ -263,6 +325,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') }, @@ -274,6 +337,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')) } }, @@ -287,6 +355,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') }, @@ -303,6 +372,9 @@ const CONFIG = { }, WEBTORRENT: { get ENABLED () { return config.get('transcoding.webtorrent.enabled') } + }, + REMOTE_RUNNERS: { + get ENABLED () { return config.get('transcoding.remote_runners.enabled') } } }, LIVE: { @@ -339,6 +411,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') }, @@ -348,11 +422,17 @@ 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') } } } }, VIDEO_STUDIO: { - get ENABLED () { return config.get('video_studio.enabled') } + get ENABLED () { return config.get('video_studio.enabled') }, + REMOTE_RUNNERS: { + get ENABLED () { return config.get('video_studio.remote_runners.enabled') } + } }, IMPORT: { VIDEOS: { @@ -373,6 +453,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: { @@ -474,6 +565,7 @@ const CONFIG = { get IS_DEFAULT_SEARCH () { return config.get('search.search_index.is_default_search') } } } + } function registerConfigChangedHandler (fun: Function) {