diff --git a/compose.yml b/compose.yml index 425efcd..40856ac 100644 --- a/compose.yml +++ b/compose.yml @@ -197,7 +197,7 @@ services: - GRAMPSWEB_ADMIN_EMAIL=${GRAMPSWEB_ADMIN_EMAIL} - GRAMPSWEB_ADMIN_PASSWORD=${GRAMPSWEB_ADMIN_PASSWORD} - GRAMPSWEB_TREE=${GRAMPSWEB_TREE:-Stiftung} - - GRAMPSWEB_BASE_URL=${GRAMPSWEB_BASE_URL:-/ahnenforschung} + - GRAMPSWEB_BASE_URL=${GRAMPSWEB_BASE_URL:-http://localhost:8090} - GRAMPSWEB_CELERY_CONFIG__broker_url=redis://redis:6379/0 - GRAMPSWEB_CELERY_CONFIG__result_backend=redis://redis:6379/0 - GRAMPSWEB_RATELIMIT_STORAGE_URI=redis://redis:6379/1 diff --git a/deploy-production/nginx.conf b/deploy-production/nginx.conf index da57054..7ee8f8e 100644 --- a/deploy-production/nginx.conf +++ b/deploy-production/nginx.conf @@ -83,6 +83,8 @@ server { } # GrampsWeb Ahnenforschung + # GrampsWeb SPA has hardcoded — sub_filter rewrites it + # so asset URLs resolve under /ahnenforschung/ instead of / location /ahnenforschung/ { proxy_pass http://127.0.0.1:8090/; proxy_set_header Host $host; @@ -91,7 +93,14 @@ server { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Script-Name /ahnenforschung; - # WebSocket support (GrampsWeb uses SSE/WS for real-time updates) + # Rewrite to + # so the SPA loads JS/CSS from the correct subpath + proxy_set_header Accept-Encoding ""; + sub_filter '' ''; + sub_filter_once on; + sub_filter_types text/html; + + # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";