From dec5e1950e7b6536d600398c0c97234a7b08440a Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 26 Jan 2026 11:34:25 +0100 Subject: [PATCH] Fix domain configuration for separate portal and API domains - Changed from single DOMAIN variable to PORTAL_DOMAIN and API_DOMAIN - Matches nginx config: portal.monacousa.org, api.monacousa.org, studio.monacousa.org - Updated docker-compose.yml to use correct domain variables with defaults - Updated setup.sh to validate both domain variables - Updated .env.example with separate domain configuration Co-Authored-By: Claude Opus 4.5 --- deploy/.env.example | 10 ++++++++-- deploy/docker-compose.yml | 10 +++++----- deploy/setup.sh | 5 +++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/deploy/.env.example b/deploy/.env.example index 7c27b4e..b3c8589 100644 --- a/deploy/.env.example +++ b/deploy/.env.example @@ -11,8 +11,14 @@ # ============================================ # DOMAIN CONFIGURATION (Required) # ============================================ -# Your domain name (without https://) -DOMAIN=portal.monacousa.org +# Portal domain (main web app) +PORTAL_DOMAIN=portal.monacousa.org + +# API domain (Supabase API gateway) +API_DOMAIN=api.monacousa.org + +# Studio domain (Supabase dashboard - optional) +STUDIO_DOMAIN=studio.monacousa.org # ============================================ # DATABASE CONFIGURATION diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 3787672..09860e2 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -66,7 +66,7 @@ services: DEFAULT_ORGANIZATION_NAME: Monaco USA DEFAULT_PROJECT_NAME: Monaco USA Portal SUPABASE_URL: http://kong:8000 - SUPABASE_PUBLIC_URL: https://api.${DOMAIN} + SUPABASE_PUBLIC_URL: https://${API_DOMAIN:-api.monacousa.org} SUPABASE_ANON_KEY: ${ANON_KEY} SUPABASE_SERVICE_KEY: ${SERVICE_ROLE_KEY} depends_on: @@ -119,12 +119,12 @@ services: environment: GOTRUE_API_HOST: 0.0.0.0 GOTRUE_API_PORT: 9999 - API_EXTERNAL_URL: https://api.${DOMAIN} + API_EXTERNAL_URL: https://${API_DOMAIN:-api.monacousa.org} GOTRUE_DB_DRIVER: postgres GOTRUE_DB_DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?search_path=auth - GOTRUE_SITE_URL: https://${DOMAIN} + GOTRUE_SITE_URL: https://${PORTAL_DOMAIN:-portal.monacousa.org} GOTRUE_URI_ALLOW_LIST: ${ADDITIONAL_REDIRECT_URLS:-} GOTRUE_DISABLE_SIGNUP: ${DISABLE_SIGNUP:-false} @@ -341,12 +341,12 @@ services: ports: - "127.0.0.1:7453:3000" environment: - PUBLIC_SUPABASE_URL: https://api.${DOMAIN} + PUBLIC_SUPABASE_URL: https://${API_DOMAIN:-api.monacousa.org} PUBLIC_SUPABASE_ANON_KEY: ${ANON_KEY} SUPABASE_SERVICE_ROLE_KEY: ${SERVICE_ROLE_KEY} SUPABASE_INTERNAL_URL: http://kong:8000 NODE_ENV: production - ORIGIN: https://${DOMAIN} + ORIGIN: https://${PORTAL_DOMAIN:-portal.monacousa.org} BODY_SIZE_LIMIT: ${BODY_SIZE_LIMIT:-52428800} depends_on: kong: diff --git a/deploy/setup.sh b/deploy/setup.sh index f42b7d2..e225ebf 100644 --- a/deploy/setup.sh +++ b/deploy/setup.sh @@ -165,7 +165,8 @@ set -e # Validate required variables echo "Validating required variables..." REQUIRED_VARS=( - "DOMAIN" + "PORTAL_DOMAIN" + "API_DOMAIN" "POSTGRES_USER" "POSTGRES_PASSWORD" "POSTGRES_DB" @@ -247,7 +248,7 @@ echo "Next steps:" echo " 1. Review .env and configure any remaining settings" echo " 2. Start the services: docker compose up -d" echo " 3. Wait for all containers to be healthy: docker compose ps" -echo " 4. Access the portal at: https://${DOMAIN:-your-domain.com}" +echo " 4. Access the portal at: https://${PORTAL_DOMAIN:-portal.monacousa.org}" echo " 5. Create your admin account on first visit" echo "" echo "Useful commands:"