fix: patch server-ui entrypoint to fix sed ordering bug
The server-ui's entrypoint inserts <base href> THEN rewrites all href="/" — including the just-inserted base tag, causing doubling. Patched entrypoint rewrites asset paths first, then inserts <base>. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -192,9 +192,12 @@ services:
|
||||
cameleer3-server-ui:
|
||||
image: ${CAMELEER3_SERVER_UI_IMAGE:-gitea.siegeln.net/cameleer/cameleer3-server-ui}:${VERSION:-latest}
|
||||
restart: unless-stopped
|
||||
entrypoint: ["/bin/sh", "/cameleer-entrypoint-patched.sh"]
|
||||
depends_on:
|
||||
cameleer3-server:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- ./docker/server-ui-entrypoint.sh:/cameleer-entrypoint-patched.sh:ro
|
||||
environment:
|
||||
CAMELEER_API_URL: http://cameleer3-server:8081
|
||||
BASE_PATH: /server
|
||||
|
||||
20
docker/server-ui-entrypoint.sh
Normal file
20
docker/server-ui-entrypoint.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
# Patched entrypoint: fixes the sed ordering bug in the server-ui image.
|
||||
# The original entrypoint inserts <base href> then rewrites ALL href="/..."
|
||||
# including the just-inserted base tag, causing /server/server/ doubling.
|
||||
|
||||
BASE_PATH="${BASE_PATH:-/}"
|
||||
|
||||
if [ "$BASE_PATH" != "/" ]; then
|
||||
BASE_PATH=$(echo "$BASE_PATH" | sed 's#/*$#/#; s#^/*#/#')
|
||||
|
||||
INDEX="/usr/share/nginx/html/index.html"
|
||||
# Rewrite absolute asset paths FIRST (before inserting <base>)
|
||||
sed -i "s|href=\"/|href=\"${BASE_PATH}|g; s|src=\"/|src=\"${BASE_PATH}|g" "$INDEX"
|
||||
# THEN inject <base> tag
|
||||
sed -i "s|<head>|<head><base href=\"${BASE_PATH}\">|" "$INDEX"
|
||||
|
||||
echo "BASE_PATH set to ${BASE_PATH} — rewrote index.html"
|
||||
fi
|
||||
|
||||
exec /docker-entrypoint.sh "$@"
|
||||
Reference in New Issue
Block a user