* feat(docker): enable gateway API and password forwarding in compose files - Added API_SERVER_KEY forwarding to enable the gateway API listener in multi-container setups. - Configured HERMES_WEBUI_PASSWORD to ensure password authentication works as expected. - Updated documentation to clarify API_SERVER_KEY requirements and forwarding behavior. - Added regression tests to cover the new functionality and ensure proper configuration. * build(docker): force LF line endings for shell scripts via .gitattributes A CRLF shebang (#!/bin/bash\r) breaks locally-built Docker images: the kernel can't resolve the interpreter /bin/bash\r, so 'docker compose up -d --build' on Windows with core.autocrlf=true fails with 'exec /hermeswebui_init.bash: no such file or directory'. The repo blobs and CI/GHCR builds are LF and unaffected; only Windows local builds baked the CRLF checkout into the image. * fixup(docker): dedup API_SERVER_HOST after rebase onto #6968 (which already added it) * docs(changelog): stamp #6917 (multi-container gateway API forwarding) --------- Co-authored-by: Yang <yang_qwq@qq.com> Co-authored-by: nesquena-hermes <nesquena-hermes@users.noreply.github.com>
This commit is contained in:
8 files changed
+168
-14
No files matched your search
@@ -5,6 +5,8 @@
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Multi-container Docker: the WebUI can now reach the agent gateway API without hand-editing compose files.** The two- and three-container Compose topologies now forward the gateway API server settings end to end — `API_SERVER_ENABLED`/`API_SERVER_HOST`/`API_SERVER_KEY` into the agent container and the matching `HERMES_WEBUI_GATEWAY_API_KEY` into the WebUI container — so setting `API_SERVER_KEY` in `.env` is enough to enable Tasks/cron and gateway-backed features (the agent only binds port 8642 when the key is a usable value). Password vars are now `${HERMES_WEBUI_PASSWORD:-}` substitutions (set once in `.env`, no compose edit), and a new `.gitattributes` forces LF on shell scripts so a Windows `core.autocrlf` checkout no longer breaks the image build (`exec …init.bash: no such file or directory`). Thanks @Yang-qwq. (#6917)
|
||||
|
||||
- **The chat view no longer bounces vertically while a reply streams in.** As each word faded in during streaming, the browser replaced the finished word's DOM node with a fresh text node — and every replacement made the browser's native scroll anchoring re-pick an anchor while the transcript was still growing, producing a visible vertical bounce. The two fade-cleanup handlers now keep each faded-in word's node stable (they just clear the transient animation class and timing variable) instead of replacing it, so the scroll position stays put. The settled reply is still rebuilt as plain text exactly as before, and text selection during streaming is steadier as a bonus. Thanks @ruizanthony. (#6257)
|
||||
|
||||
- **The model selector no longer lists providers whose API key you've removed.** A provider that stayed in `config.yaml` with only metadata (e.g. `openai-api: {name: "OpenAI API"}`) kept appearing in the chat model dropdown after its credential was removed, so picking it failed. A config-listed provider now appears only when it was actually detected from a credential source (env var, hermes auth, or the credential pool), with provider aliases resolved on both sides (so `x-ai`/`xai`, `google`/`gemini` match correctly). Route-configured and active-model providers are unaffected. Thanks @webtecnica. (#6338)
|
||||
|
||||
Reference in new issue
Block a user