@@ -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' ) ;
0 commit comments