Skip to content

Commit d98ba59

Browse files
committed
chore: Fix variables when using external vs. embedded
1 parent e09d065 commit d98ba59

File tree

2 files changed

+46
-44
lines changed

2 files changed

+46
-44
lines changed

src/data/composeTemplates.js

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -60,44 +60,45 @@ const generateEditorEnv = (config, deploymentType) => {
6060
addEnvVar(envVars, 'DB_PORT', config.DB_PORT);
6161
}
6262

63-
// Proxy settings (not for AIO)
63+
// Proxy settings
64+
// AIO always uses embedded proxy, other deployment types can choose
65+
const useEmbeddedProxy = deploymentType === 'aio' || !proxyExternal;
66+
67+
// M3U_PROXY_ENABLED: true = embedded, false = external (not needed for AIO as it's always embedded)
6468
if (deploymentType !== 'aio') {
65-
// M3U_PROXY_ENABLED: true = embedded, false = external
6669
addEnvVar(envVars, 'M3U_PROXY_ENABLED', !proxyExternal);
67-
68-
if (proxyExternal) {
69-
// External proxy - use configured host (127.0.0.1 for VPN, m3u-proxy for others)
70-
addEnvVar(envVars, 'M3U_PROXY_HOST', config.M3U_PROXY_HOST || 'm3u-proxy');
71-
addEnvVar(envVars, 'M3U_PROXY_PORT', '8085'); // Internal container port
72-
} else {
73-
// Embedded proxy - runs on localhost inside editor
74-
addEnvVar(envVars, 'M3U_PROXY_HOST', 'localhost');
75-
addEnvVar(envVars, 'M3U_PROXY_PORT', config.M3U_PROXY_PORT || '8085');
76-
// Embedded proxy settings - these go to editor since proxy runs inside it
77-
if (config.ENABLE_TRANSCODING_POOLING !== false) {
78-
addEnvVar(envVars, 'ENABLE_TRANSCODING_POOLING', true);
79-
}
80-
}
81-
82-
addEnvVar(envVars, 'M3U_PROXY_TOKEN', config.M3U_PROXY_TOKEN);
83-
addEnvVar(envVars, 'M3U_PROXY_LOG_LEVEL', config.M3U_PROXY_LOG_LEVEL, config.M3U_PROXY_LOG_LEVEL);
8470
}
8571

86-
// Redis settings (not for AIO)
87-
if (deploymentType !== 'aio') {
88-
if (redisExternal) {
89-
// External Redis - use configured host (127.0.0.1 for VPN, m3u-redis for others)
90-
// Disable embedded Redis since we're using external
91-
addEnvVar(envVars, 'REDIS_ENABLED', false);
92-
addEnvVar(envVars, 'REDIS_HOST', config.REDIS_HOST || 'm3u-redis');
93-
addEnvVar(envVars, 'REDIS_SERVER_PORT', config.REDIS_SERVER_PORT || '6379');
94-
addEnvVar(envVars, 'REDIS_PASSWORD', config.REDIS_PASSWORD);
95-
} else {
96-
// Internal Redis - runs on localhost inside editor
97-
addEnvVar(envVars, 'REDIS_ENABLED', true);
98-
addEnvVar(envVars, 'REDIS_HOST', 'localhost');
99-
addEnvVar(envVars, 'REDIS_SERVER_PORT', config.REDIS_SERVER_PORT || '6379');
100-
}
72+
if (!useEmbeddedProxy) {
73+
// External proxy - use configured host (127.0.0.1 for VPN, m3u-proxy for others)
74+
addEnvVar(envVars, 'M3U_PROXY_HOST', config.M3U_PROXY_HOST || 'm3u-proxy');
75+
addEnvVar(envVars, 'M3U_PROXY_PORT', '8085'); // Internal container port
76+
} else {
77+
// Embedded proxy - runs on localhost inside editor
78+
// ENABLE_TRANSCODING_POOLING is enabled by default for embedded, no need to set it
79+
addEnvVar(envVars, 'M3U_PROXY_HOST', 'localhost');
80+
addEnvVar(envVars, 'M3U_PROXY_PORT', config.M3U_PROXY_PORT || '8085');
81+
}
82+
83+
addEnvVar(envVars, 'M3U_PROXY_TOKEN', config.M3U_PROXY_TOKEN);
84+
addEnvVar(envVars, 'M3U_PROXY_LOG_LEVEL', config.M3U_PROXY_LOG_LEVEL, config.M3U_PROXY_LOG_LEVEL);
85+
86+
// Redis settings
87+
// AIO always uses internal Redis, other deployment types can choose
88+
const useInternalRedis = deploymentType === 'aio' || !redisExternal;
89+
90+
if (!useInternalRedis) {
91+
// External Redis - use configured host (127.0.0.1 for VPN, m3u-redis for others)
92+
// Disable embedded Redis since we're using external
93+
addEnvVar(envVars, 'REDIS_ENABLED', false);
94+
addEnvVar(envVars, 'REDIS_HOST', config.REDIS_HOST || 'm3u-redis');
95+
addEnvVar(envVars, 'REDIS_SERVER_PORT', config.REDIS_SERVER_PORT || '6379');
96+
addEnvVar(envVars, 'REDIS_PASSWORD', config.REDIS_PASSWORD);
97+
} else {
98+
// Internal Redis - runs on localhost inside editor
99+
addEnvVar(envVars, 'REDIS_ENABLED', true);
100+
addEnvVar(envVars, 'REDIS_HOST', 'localhost');
101+
addEnvVar(envVars, 'REDIS_SERVER_PORT', config.REDIS_SERVER_PORT || '6379');
101102
}
102103

103104
// Web server settings
@@ -119,8 +120,8 @@ const generateEditorEnv = (config, deploymentType) => {
119120
addEnvVar(envVars, 'INVALIDATE_IMPORT', config.INVALIDATE_IMPORT, config.INVALIDATE_IMPORT);
120121
addEnvVar(envVars, 'INVALIDATE_IMPORT_THRESHOLD', config.INVALIDATE_IMPORT_THRESHOLD, config.INVALIDATE_IMPORT);
121122

122-
// HLS settings (not for AIO, and only when proxy is embedded since proxy handles HLS)
123-
if (deploymentType !== 'aio' && !proxyExternal) {
123+
// HLS settings (only when proxy is embedded since proxy handles HLS)
124+
if (useEmbeddedProxy) {
124125
addEnvVar(envVars, 'HLS_TEMP_DIR', config.HLS_TEMP_DIR, config.HLS_TEMP_DIR !== '/tmp/hls');
125126
addEnvVar(envVars, 'HLS_GC_ENABLED', config.HLS_GC_ENABLED, !config.HLS_GC_ENABLED);
126127
addEnvVar(envVars, 'HLS_GC_INTERVAL', config.HLS_GC_INTERVAL, config.HLS_GC_INTERVAL !== '60');

src/data/composeWizardConfig.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ export const WIZARD_SECTIONS = [
219219
description: 'Port for the proxy service',
220220
type: FIELD_TYPES.NUMBER,
221221
default: '38085',
222-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
222+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
223223
},
224224
{
225225
name: 'M3U_PROXY_HOST',
@@ -237,7 +237,7 @@ export const WIZARD_SECTIONS = [
237237
type: FIELD_TYPES.PASSWORD,
238238
default: '',
239239
placeholder: 'Auto-generated if empty',
240-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
240+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
241241
generateButton: true,
242242
},
243243
{
@@ -253,14 +253,15 @@ export const WIZARD_SECTIONS = [
253253
{ value: 'WARN', label: 'Warning' },
254254
{ value: 'ERROR', label: 'Error' },
255255
],
256-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
256+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
257257
},
258258
{
259259
name: 'ENABLE_TRANSCODING_POOLING',
260260
label: 'Enable Transcoding Pooling',
261261
description: 'Enable connection pooling for transcoding streams (requires Redis)',
262262
type: FIELD_TYPES.BOOLEAN,
263263
default: true,
264+
showWhen: { field: 'M3U_PROXY_ENABLED', value: 'external' },
264265
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
265266
},
266267
],
@@ -298,7 +299,7 @@ export const WIZARD_SECTIONS = [
298299
description: 'Redis server port',
299300
type: FIELD_TYPES.NUMBER,
300301
default: '63790',
301-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
302+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
302303
},
303304
{
304305
name: 'REDIS_PASSWORD',
@@ -511,15 +512,15 @@ export const WIZARD_SECTIONS = [
511512
description: 'Directory for storing HLS segments',
512513
type: FIELD_TYPES.TEXT,
513514
default: '/tmp/hls',
514-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
515+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
515516
},
516517
{
517518
name: 'HLS_GC_ENABLED',
518519
label: 'Enable Garbage Collection',
519520
description: 'Automatically clean up old HLS segments',
520521
type: FIELD_TYPES.BOOLEAN,
521522
default: true,
522-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
523+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
523524
},
524525
{
525526
name: 'HLS_GC_INTERVAL',
@@ -528,7 +529,7 @@ export const WIZARD_SECTIONS = [
528529
type: FIELD_TYPES.NUMBER,
529530
default: '60',
530531
showWhen: { field: 'HLS_GC_ENABLED', value: true },
531-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
532+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
532533
},
533534
{
534535
name: 'HLS_GC_AGE_THRESHOLD',
@@ -537,7 +538,7 @@ export const WIZARD_SECTIONS = [
537538
type: FIELD_TYPES.NUMBER,
538539
default: '300',
539540
showWhen: { field: 'HLS_GC_ENABLED', value: true },
540-
deploymentTypes: ['modular', 'vpn', 'external-nginx', 'external-caddy'],
541+
deploymentTypes: ['modular', 'aio', 'vpn', 'external-nginx', 'external-caddy'],
541542
},
542543
],
543544
},

0 commit comments

Comments
 (0)