diff --git a/docker-compose.yml b/docker-compose.yml index 2c0ac03..ddbd2fc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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 diff --git a/docker/server-ui-entrypoint.sh b/docker/server-ui-entrypoint.sh new file mode 100644 index 0000000..328652d --- /dev/null +++ b/docker/server-ui-entrypoint.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# Patched entrypoint: fixes the sed ordering bug in the server-ui image. +# The original entrypoint inserts 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 ) + sed -i "s|href=\"/|href=\"${BASE_PATH}|g; s|src=\"/|src=\"${BASE_PATH}|g" "$INDEX" + # THEN inject tag + sed -i "s|||" "$INDEX" + + echo "BASE_PATH set to ${BASE_PATH} — rewrote index.html" +fi + +exec /docker-entrypoint.sh "$@"