fix(frontend): pass all BFF service URLs to frontend container

Wire CRM, loyalty, communication, and delivery service URLs into docker-compose
so Next.js API proxies reach Docker network hosts instead of localhost fallbacks.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Mortezakoohjani 2026-07-27 13:28:50 +03:30
parent fb05937790
commit 047cd17afd
3 changed files with 26 additions and 3 deletions

View File

@ -164,6 +164,15 @@ NEXT_PUBLIC_KEYCLOAK_URL=https://auth.torbatyar.ir
NEXT_PUBLIC_KEYCLOAK_REALM=superapp NEXT_PUBLIC_KEYCLOAK_REALM=superapp
NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=superapp-frontend NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=superapp-frontend
NEXT_PUBLIC_ACCOUNTING_API_URL=http://localhost:8002 NEXT_PUBLIC_ACCOUNTING_API_URL=http://localhost:8002
NEXT_PUBLIC_CRM_API_URL=http://localhost:8003
NEXT_PUBLIC_LOYALTY_API_URL=http://localhost:8004
NEXT_PUBLIC_COMMUNICATION_API_URL=http://localhost:8005
NEXT_PUBLIC_SPORTS_CENTER_API_URL=http://localhost:8006
NEXT_PUBLIC_DELIVERY_API_URL=http://localhost:8007
NEXT_PUBLIC_EXPERIENCE_API_URL=http://localhost:8008
NEXT_PUBLIC_HOSPITALITY_API_URL=http://localhost:8009
NEXT_PUBLIC_HEALTHCARE_API_URL=http://localhost:8010
NEXT_PUBLIC_BEAUTY_BUSINESS_API_URL=http://localhost:8011
INTERNAL_TOKEN_SECRET=change-me-internal-secret INTERNAL_TOKEN_SECRET=change-me-internal-secret

View File

@ -505,14 +505,22 @@ services:
NEXT_PUBLIC_PLATFORM_BASE_DOMAIN: ${NEXT_PUBLIC_PLATFORM_BASE_DOMAIN:-torbatyar.ir} NEXT_PUBLIC_PLATFORM_BASE_DOMAIN: ${NEXT_PUBLIC_PLATFORM_BASE_DOMAIN:-torbatyar.ir}
NEXT_PUBLIC_ACCOUNTING_API_URL: ${NEXT_PUBLIC_ACCOUNTING_API_URL:-http://localhost:8002} NEXT_PUBLIC_ACCOUNTING_API_URL: ${NEXT_PUBLIC_ACCOUNTING_API_URL:-http://localhost:8002}
ACCOUNTING_SERVICE_URL: ${ACCOUNTING_SERVICE_URL:-http://accounting-service:8002} ACCOUNTING_SERVICE_URL: ${ACCOUNTING_SERVICE_URL:-http://accounting-service:8002}
NEXT_PUBLIC_CRM_API_URL: ${NEXT_PUBLIC_CRM_API_URL:-http://localhost:8003}
CRM_SERVICE_URL: ${CRM_SERVICE_URL:-http://crm-service:8003}
NEXT_PUBLIC_LOYALTY_API_URL: ${NEXT_PUBLIC_LOYALTY_API_URL:-http://localhost:8004}
LOYALTY_SERVICE_URL: ${LOYALTY_SERVICE_URL:-http://loyalty-service:8004}
NEXT_PUBLIC_COMMUNICATION_API_URL: ${NEXT_PUBLIC_COMMUNICATION_API_URL:-http://localhost:8005}
COMMUNICATION_SERVICE_URL: ${COMMUNICATION_SERVICE_URL:-http://communication-service:8005}
NEXT_PUBLIC_SPORTS_CENTER_API_URL: ${NEXT_PUBLIC_SPORTS_CENTER_API_URL:-http://localhost:8006}
SPORTS_CENTER_SERVICE_URL: ${SPORTS_CENTER_SERVICE_URL:-http://sports-center-service:8006}
NEXT_PUBLIC_DELIVERY_API_URL: ${NEXT_PUBLIC_DELIVERY_API_URL:-http://localhost:8007}
DELIVERY_SERVICE_URL: ${DELIVERY_SERVICE_URL:-http://delivery-service:8007}
NEXT_PUBLIC_HEALTHCARE_API_URL: ${NEXT_PUBLIC_HEALTHCARE_API_URL:-http://localhost:8010} NEXT_PUBLIC_HEALTHCARE_API_URL: ${NEXT_PUBLIC_HEALTHCARE_API_URL:-http://localhost:8010}
HEALTHCARE_SERVICE_URL: ${HEALTHCARE_SERVICE_URL:-http://healthcare-service:8010} HEALTHCARE_SERVICE_URL: ${HEALTHCARE_SERVICE_URL:-http://healthcare-service:8010}
NEXT_PUBLIC_BEAUTY_BUSINESS_API_URL: ${NEXT_PUBLIC_BEAUTY_BUSINESS_API_URL:-http://localhost:8011} NEXT_PUBLIC_BEAUTY_BUSINESS_API_URL: ${NEXT_PUBLIC_BEAUTY_BUSINESS_API_URL:-http://localhost:8011}
BEAUTY_BUSINESS_SERVICE_URL: ${BEAUTY_BUSINESS_SERVICE_URL:-http://beauty-business-service:8011} BEAUTY_BUSINESS_SERVICE_URL: ${BEAUTY_BUSINESS_SERVICE_URL:-http://beauty-business-service:8011}
NEXT_PUBLIC_HOSPITALITY_API_URL: ${NEXT_PUBLIC_HOSPITALITY_API_URL:-http://localhost:8009} NEXT_PUBLIC_HOSPITALITY_API_URL: ${NEXT_PUBLIC_HOSPITALITY_API_URL:-http://localhost:8009}
HOSPITALITY_SERVICE_URL: ${HOSPITALITY_SERVICE_URL:-http://hospitality-service:8009} HOSPITALITY_SERVICE_URL: ${HOSPITALITY_SERVICE_URL:-http://hospitality-service:8009}
NEXT_PUBLIC_SPORTS_CENTER_API_URL: ${NEXT_PUBLIC_SPORTS_CENTER_API_URL:-http://localhost:8006}
SPORTS_CENTER_SERVICE_URL: ${SPORTS_CENTER_SERVICE_URL:-http://sports-center-service:8006}
# polling برای hot-reload پایدار روی volume mount ویندوز # polling برای hot-reload پایدار روی volume mount ویندوز
WATCHPACK_POLLING: "true" WATCHPACK_POLLING: "true"
CHOKIDAR_USEPOLLING: "true" CHOKIDAR_USEPOLLING: "true"

View File

@ -82,8 +82,14 @@ NEXT_PUBLIC_KEYCLOAK_REALM=superapp
NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=superapp-frontend NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=superapp-frontend
NEXT_PUBLIC_ACCOUNTING_API_URL=https://accounting.torbatyar.ir NEXT_PUBLIC_ACCOUNTING_API_URL=https://accounting.torbatyar.ir
NEXT_PUBLIC_CRM_API_URL=https://crm.torbatyar.ir NEXT_PUBLIC_CRM_API_URL=https://crm.torbatyar.ir
NEXT_PUBLIC_HEALTHCARE_API_URL=https://healthcare.torbatyar.ir NEXT_PUBLIC_LOYALTY_API_URL=https://loyalty.torbatyar.ir
NEXT_PUBLIC_COMMUNICATION_API_URL=https://communication.torbatyar.ir
NEXT_PUBLIC_SPORTS_CENTER_API_URL=https://sports-center.torbatyar.ir NEXT_PUBLIC_SPORTS_CENTER_API_URL=https://sports-center.torbatyar.ir
NEXT_PUBLIC_DELIVERY_API_URL=https://delivery.torbatyar.ir
NEXT_PUBLIC_EXPERIENCE_API_URL=https://experience.torbatyar.ir
NEXT_PUBLIC_HOSPITALITY_API_URL=https://hospitality.torbatyar.ir
NEXT_PUBLIC_HEALTHCARE_API_URL=https://healthcare.torbatyar.ir
NEXT_PUBLIC_BEAUTY_BUSINESS_API_URL=https://beauty.torbatyar.ir
ACCOUNTING_SERVICE_URL=http://accounting-service:8002 ACCOUNTING_SERVICE_URL=http://accounting-service:8002
ACCOUNTING_DATABASE_URL=postgresql+asyncpg://superapp:superapp_password@postgres:5432/accounting_db ACCOUNTING_DATABASE_URL=postgresql+asyncpg://superapp:superapp_password@postgres:5432/accounting_db