Skip to content

Commit 0719fbf

Browse files
authored
Merge pull request #6 from Grimothy/master
🐛 fix: resolve circular dependency in compose wizard generator
2 parents 25687a6 + 073ec84 commit 0719fbf

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/data/composeTemplates.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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(/^https?:\/\//, '').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

Comments
 (0)