diff --git a/docker-compose.ecosystem.yml b/docker-compose.ecosystem.yml index 52ab7706..2d5a9ab9 100644 --- a/docker-compose.ecosystem.yml +++ b/docker-compose.ecosystem.yml @@ -530,6 +530,7 @@ services: dockerfile: user-dashboard-web/Dockerfile args: GITEA_NPM_HOST: ${GITEA_NPM_HOST:-host.docker.internal} + # NEXT_PUBLIC_* args are baked at build time for browser-side code NEXT_PUBLIC_PLATFORM_SERVICE_URL: http://localhost:4003 NEXT_PUBLIC_PRODUCT_ID: lysnrai ports: @@ -537,13 +538,17 @@ services: environment: - NODE_ENV=production - PORT=3002 + # Non-prefixed vars are used by server-side code (API routes, SSR) - PLATFORM_SERVICE_URL=http://platform-service:4003 - ACTIONTRAIL_SERVICE_URL=http://actiontrail-backend:4018 - - NEXT_PUBLIC_PLATFORM_SERVICE_URL=http://platform-service:4003 - - NEXT_PUBLIC_PRODUCT_ID=lysnrai depends_on: lysnrai-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3002'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped chronomind-web: @@ -560,11 +565,16 @@ services: environment: - NODE_ENV=production - PORT=3030 - - NEXT_PUBLIC_BACKEND_URL=http://chronomind-backend:4011 - - NEXT_PUBLIC_PLATFORM_SERVICE_URL=http://platform-service:4003 + - BACKEND_URL=http://chronomind-backend:4011 + - PLATFORM_SERVICE_URL=http://platform-service:4003 depends_on: chronomind-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3030'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped jarvisjr-web: @@ -580,10 +590,15 @@ services: environment: - NODE_ENV=production - PORT=3035 - - NEXT_PUBLIC_PLATFORM_SERVICE_URL=http://platform-service:4003 + - PLATFORM_SERVICE_URL=http://platform-service:4003 depends_on: jarvisjr-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3035'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped flowmonk-web: @@ -600,11 +615,16 @@ services: environment: - NODE_ENV=production - PORT=3040 - - NEXT_PUBLIC_API_URL=http://flowmonk-backend:4017 - - NEXT_PUBLIC_PLATFORM_URL=http://platform-service:4003/api + - API_URL=http://flowmonk-backend:4017 + - PLATFORM_URL=http://platform-service:4003/api depends_on: flowmonk-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3040'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped notelett-web: @@ -621,11 +641,16 @@ services: environment: - NODE_ENV=production - PORT=3045 - - NEXT_PUBLIC_NOTES_API_URL=http://notelett-backend:4016/api - - NEXT_PUBLIC_PLATFORM_SERVICE_URL=http://platform-service:4003/api + - NOTES_API_URL=http://notelett-backend:4016/api + - PLATFORM_SERVICE_URL=http://platform-service:4003/api depends_on: notelett-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3045'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped mindlyst-web: @@ -641,10 +666,15 @@ services: environment: - NODE_ENV=production - PORT=3050 - - NEXT_PUBLIC_PLATFORM_SERVICE_URL=http://platform-service:4003 + - PLATFORM_SERVICE_URL=http://platform-service:4003 depends_on: mindlyst-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3050'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped nomgap-web: @@ -661,11 +691,16 @@ services: environment: - NODE_ENV=production - PORT=3055 - - NEXT_PUBLIC_NOMGAP_API_URL=http://nomgap-backend:4013/api - - NEXT_PUBLIC_PLATFORM_SERVICE_URL=http://platform-service:4003/api + - NOMGAP_API_URL=http://nomgap-backend:4013/api + - PLATFORM_SERVICE_URL=http://platform-service:4003/api depends_on: nomgap-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3055'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped actiontrail-web: @@ -682,11 +717,16 @@ services: environment: - NODE_ENV=production - PORT=3060 - - NEXT_PUBLIC_API_URL=http://actiontrail-backend:4018 - - NEXT_PUBLIC_PLATFORM_URL=http://platform-service:4003 + - API_URL=http://actiontrail-backend:4018 + - PLATFORM_URL=http://platform-service:4003 depends_on: actiontrail-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3060'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped localmemgpt-web: @@ -703,11 +743,16 @@ services: environment: - NODE_ENV=production - PORT=3070 - - NEXT_PUBLIC_BACKEND_URL=http://localmemgpt-backend:4019 - - NEXT_PUBLIC_PLATFORM_URL=http://platform-service:4003 + - BACKEND_URL=http://localmemgpt-backend:4019 + - PLATFORM_URL=http://platform-service:4003 depends_on: localmemgpt-backend: condition: service_healthy + healthcheck: + test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:3070'] + interval: 30s + timeout: 10s + retries: 3 restart: unless-stopped # ── Local LLM Lab (no backend — dashboard talks directly to Ollama) ──