summaryrefslogtreecommitdiff
path: root/packages/backend/src/config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/config.ts')
-rw-r--r--packages/backend/src/config.ts9
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts
index 1d4e700656..aa98ef1d22 100644
--- a/packages/backend/src/config.ts
+++ b/packages/backend/src/config.ts
@@ -87,6 +87,8 @@ export type Mixin = {
userAgent: string;
clientEntry: string;
clientManifestExists: boolean;
+ mediaProxy: string;
+ externalMediaProxyEnabled: boolean;
};
export type Config = Source & Mixin;
@@ -135,6 +137,13 @@ export function loadConfig() {
mixin.clientEntry = clientManifest['src/init.ts'];
mixin.clientManifestExists = clientManifestExists;
+ const externalMediaProxy = config.mediaProxy ?
+ config.mediaProxy.endsWith('/') ? config.mediaProxy.substring(0, config.mediaProxy.length - 1) : config.mediaProxy
+ : null;
+ const internalMediaProxy = `${mixin.scheme}://${mixin.host}/proxy`;
+ mixin.mediaProxy = externalMediaProxy ?? internalMediaProxy;
+ mixin.externalMediaProxyEnabled = externalMediaProxy !== null && externalMediaProxy !== internalMediaProxy;
+
if (!config.redis.prefix) config.redis.prefix = mixin.host;
return Object.assign(config, mixin);