diff --git a/DOCS.md b/DOCS.md index 2f4348f..9499577 100644 --- a/DOCS.md +++ b/DOCS.md @@ -54,7 +54,7 @@ To open the gateway UI in a separate tab reliably: - Set a **fixed** `gateway_token` (required when `gateway_bind=lan`) 2) Tell the add-on what URL to open: -- Set `gateway_public_url` to a base URL that the browser can reach. +- Set `gateway_public_url` to a base URL that the browser can reach (recommended: **no trailing slash**). Examples: - LAN only: `http://homeassistant.local:18789` (or `http://192.168.1.10:18789`) diff --git a/moltbot_assistant/config.yaml b/moltbot_assistant/config.yaml index 2845773..c237e04 100644 --- a/moltbot_assistant/config.yaml +++ b/moltbot_assistant/config.yaml @@ -1,5 +1,5 @@ name: Moltbot Assistant -version: "0.4.6" +version: "0.4.7" slug: moltbot_assistant description: Run Moltbot Assistant (Clawdbot-compatible) as a Home Assistant add-on. url: https://github.com/techartdev/MoltBotHomeAssistant @@ -39,6 +39,7 @@ options: gateway_token: "" # Public base URL for opening the Gateway Web UI in a new tab (not embedded). + # Recommended: NO trailing slash. # Example: "https://example.duckdns.org:12345" or "http://192.168.1.10:18789" gateway_public_url: "" diff --git a/moltbot_assistant/nginx.conf.tpl b/moltbot_assistant/nginx.conf.tpl index d78312d..551821a 100644 --- a/moltbot_assistant/nginx.conf.tpl +++ b/moltbot_assistant/nginx.conf.tpl @@ -71,7 +71,7 @@ http {

Moltbot Assistant

- Open Gateway Web UI + Open Gateway Web UI Open Terminal (full page)
diff --git a/moltbot_assistant/run.sh b/moltbot_assistant/run.sh index 1141bca..1d78a18 100644 --- a/moltbot_assistant/run.sh +++ b/moltbot_assistant/run.sh @@ -299,8 +299,12 @@ tpl = Path('/etc/nginx/nginx.conf.tpl').read_text() token = os.environ.get('GW_TOKEN','') public_url = os.environ.get('GW_PUBLIC_URL','') +# Normalize gateway_public_url for building the link: ensure there is exactly one slash +# between base URL and path. We keep the displayed base as-is, but compute a safe suffix. +# If base ends with '/', use empty suffix. Otherwise use '/'. conf = tpl.replace('__GATEWAY_TOKEN__', token) conf = conf.replace('__GATEWAY_PUBLIC_URL__', public_url) +conf = conf.replace('__GW_PUBLIC_URL_PATH__', '' if public_url.endswith('/') else '/') Path('/etc/nginx/nginx.conf').write_text(conf) PY