fix BASE_PATH routing: nginx template + runtime HTML injection
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m16s
CI/CD / test-sqlite (push) Successful in 2m31s
CI/CD / build-and-deploy (push) Successful in 33s

- nginx.conf → nginx.conf.template with ${BASE_PATH} in all locations
- NGINX_ENVSUBST_FILTER=BASE_PATH so nginx vars ($host, $uri) are preserved
- Entrypoint injects BASE_PATH into frontend HTML/JS (%%BASE_PATH%% → actual)
- Fixes: /test routes falling through to static SPA, %%BASE_PATH%% visible in URL

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 13:23:41 +00:00
parent d32fa5f92d
commit 10cfd147fe
3 changed files with 33 additions and 22 deletions

View File

@@ -9,6 +9,17 @@
set -e
# Inject BASE_PATH into frontend HTML/JS at runtime
if [ -n "${BASE_PATH}" ]; then
echo "🔧 Injecting BASE_PATH=${BASE_PATH} into frontend assets..."
find /usr/share/nginx/html -type f \( -name '*.html' -o -name '*.js' \) \
-exec sed -i "s|%%BASE_PATH%%|${BASE_PATH}|g" {} +
else
# No prefix — strip the placeholder entirely
find /usr/share/nginx/html -type f \( -name '*.html' -o -name '*.js' \) \
-exec sed -i "s|%%BASE_PATH%%||g" {} +
fi
echo "🔀 Starting Switchboard Core backend..."
# Launch Go backend in background (from /app so migrations are found)