@@ -228,24 +228,20 @@ const generateProxyService = (config, useVpnNetwork = false) => {
228228 if ( redisExternal ) {
229229 service += `
230230 - m3u-redis` ;
231- } else {
232- service += `
233- - m3u-editor` ;
234231 }
232+ // Note: No dependency on m3u-editor for embedded Redis to avoid circular dependency
233+ // The proxy can connect to editor's Redis via hostname without depends_on
235234 } else {
236235 if ( redisExternal ) {
237236 service += `
238237 depends_on:
239- - m3u-redis
240- networks:
241- - m3u-network` ;
242- } else {
243- service += `
244- depends_on:
245- - m3u-editor
238+ - m3u-redis` ;
239+ }
240+ // Note: No dependency on m3u-editor for embedded Redis to avoid circular dependency
241+ // The proxy can connect to editor's Redis via hostname without depends_on
242+ service += `
246243 networks:
247244 - m3u-network` ;
248- }
249245 }
250246
251247 return service ;
@@ -285,8 +281,9 @@ export const generateModularCompose = (config) => {
285281 const imageTag = getImageTag ( config ) ;
286282
287283 // Build depends_on for editor
284+ // Note: Editor only depends on external Redis (if used)
285+ // Proxy is not a startup dependency - it's a runtime service
288286 const editorDependsOn = [ ] ;
289- if ( proxyExternal ) editorDependsOn . push ( 'm3u-proxy' ) ;
290287 if ( redisExternal ) editorDependsOn . push ( 'm3u-redis' ) ;
291288
292289 let compose = `# Docker Compose - Modular Deployment
@@ -413,8 +410,9 @@ export const generateVpnCompose = (config) => {
413410 }
414411
415412 // Build depends_on for editor
413+ // Note: Editor only depends on external Redis (if used) and gluetun
414+ // Proxy is not a startup dependency - it's a runtime service
416415 const editorDependsOn = [ ] ;
417- if ( proxyExternal ) editorDependsOn . push ( 'm3u-proxy' ) ;
418416 if ( redisExternal ) editorDependsOn . push ( 'm3u-redis' ) ;
419417
420418 let compose = `# Docker Compose - VPN Deployment (Gluetun)
@@ -513,8 +511,9 @@ export const generateExternalNginxCompose = (config) => {
513511 const imageTag = getImageTag ( config ) ;
514512
515513 // Build depends_on for editor
514+ // Note: Editor only depends on external Redis (if used)
515+ // Proxy is not a startup dependency - it's a runtime service
516516 const editorDependsOn = [ ] ;
517- if ( proxyExternal ) editorDependsOn . push ( 'm3u-proxy' ) ;
518517 if ( redisExternal ) editorDependsOn . push ( 'm3u-redis' ) ;
519518
520519 let compose = `# Docker Compose - External Nginx Deployment
@@ -633,8 +632,9 @@ export const generateExternalCaddyCompose = (config) => {
633632 const domain = config . APP_URL ?. replace ( / ^ h t t p s ? : \/ \/ / , '' ) . replace ( / \/ $ / , '' ) || 'localhost' ;
634633
635634 // Build depends_on for editor
635+ // Note: Editor only depends on external Redis (if used)
636+ // Proxy is not a startup dependency - it's a runtime service
636637 const editorDependsOn = [ ] ;
637- if ( proxyExternal ) editorDependsOn . push ( 'm3u-proxy' ) ;
638638 if ( redisExternal ) editorDependsOn . push ( 'm3u-redis' ) ;
639639
640640 let compose = `# Docker Compose - External Caddy Deployment
0 commit comments