Update Hermes to v0.20.4 with dashboard authentication - #1013
Draft
Ns2Kracy wants to merge 1 commit into
Draft
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
zimaos-appstore-dev-docs | a4ebee1 | Commit Preview URL Branch Preview URL |
Aug 20 2026, 09:14 AM |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
v2026.6.5(0.16.0) tov2026.8.18(0.20.4).HERMES_DASHBOARD_INSECUREsetting with the bundled Basic Auth provider.zimaos/hermes.Why this is required
Hermes hardened dashboard access on non-loopback addresses.
HERMES_DASHBOARD_INSECURE=1no longer disables the authentication gate.CasaOS/ZimaOS exposes the dashboard on
0.0.0.0:9119. Hermesv2026.8.18refuses to bind that address unless an authentication provider is registered. With the old environment, the dashboard exits with messages such as:Because the app uses
restart: unless-stopped, the container can enter a restart loop.Upstream behavior:
https://github.com/NousResearch/hermes-agent/blob/v2026.8.18/docker/s6-rc.d/dashboard/run
Release:
https://github.com/NousResearch/hermes-agent/releases/tag/v2026.8.18
Important upgrade limitation
The current CasaOS/ZimaOS app upgrade flow updates the container image but does not merge changed environment variables from the new store manifest into an existing installation.
An existing Hermes installation can therefore keep:
while missing:
After the image upgrades, the old variable is ignored and the new image has no authentication provider. The dashboard then refuses to start. The defaults added by this PR apply to new installations, reinstalls, and deployments where the environment is recreated from the updated manifest. They are not guaranteed to reach an existing installation through an image-only upgrade.
Existing users must update the app environment and recreate the container:
HERMES_DASHBOARD_INSECURE.HERMES_DASHBOARD_BASIC_AUTH_USERNAMEandHERMES_DASHBOARD_BASIC_AUTH_PASSWORD.zimaos/hermesfor the bootstrap login, or set custom credentials.Hermes reads these credentials at startup. After signing in, users can change the dashboard credentials in the Hermes WebUI.
Security note
zimaos/hermesis a public bootstrap credential. It keeps fresh installations deployable after the upstream authentication change, but it must not be treated as a secure long-term password.This PR remains a draft because the image-only upgrade path still needs a migration or user-facing intervention for existing installations.
Validation
docker compose -f Apps/Hermes/docker-compose.yml config -q: passed.git diff --check: passed.nousresearch/hermes-agent:v2026.8.18: passed.