diff --git a/src/BackOffice/Dockerfile b/src/BackOffice/Dockerfile index a89ba28..2b8bac4 100644 --- a/src/BackOffice/Dockerfile +++ b/src/BackOffice/Dockerfile @@ -31,6 +31,8 @@ RUN chmod +x /docker-entrypoint.sh # Default Blazor environment (override via K8s env var BLAZOR_ENVIRONMENT) ENV BLAZOR_ENVIRONMENT=Staging +# Default gateway URL for gRPC calls (injected into appsettings at startup) +ENV GW_URL=https://cms.se.kbs1.ir EXPOSE 80 CMD ["/docker-entrypoint.sh"] diff --git a/src/BackOffice/docker-entrypoint.sh b/src/BackOffice/docker-entrypoint.sh index b0ceecd..2cf6f93 100644 --- a/src/BackOffice/docker-entrypoint.sh +++ b/src/BackOffice/docker-entrypoint.sh @@ -15,4 +15,16 @@ server { } NGINX_CONF +# Inject GW_URL into all appsettings JSON files +# This overrides GwUrl regardless of which environment Blazor detects, +# which is critical because the service worker cache strips the +# blazor-environment header and Blazor falls back to Production. +WWWROOT="/usr/share/nginx/html" +if [ -n "$GW_URL" ]; then + echo "[entrypoint] Setting GwUrl to $GW_URL in all appsettings files" + for f in "$WWWROOT"/appsettings*.json; do + [ -f "$f" ] && sed -i "s|\"GwUrl\":\s*\"[^\"]*\"|\"GwUrl\": \"$GW_URL\"|g" "$f" + done +fi + exec nginx -g 'daemon off;'