When the Hermes Agent runs in Docker, if the dashboard cannot be accessed from the local network, first check the port mapping and binding address; do not treat insecure as a universal switch. On May 29, 2026, v0.15.1 changed the Docker Dashboard --insecure to an explicit environment variable HERMES_DASHBOARD_INSECURE=1, which no longer automatically inferred that you want to disable same-origin protection just because you are bound to a non-loopback address.
Let's clarify two issues first
Binding addresses address issues like "Can others connect to this port?" Insecure addresses "whether to relax the Dashboard's local security protection." These two are not the same thing. If you want to open the Hermes Agent Dashboard on a local area network, you usually need to correctly map the port, bind it to an accessible address, and confirm that the firewall is allowed to do so; Only consider HERMES_DASHBOARD_INSECURE=1 if you clearly know you want to disable loopback protection.
It is recommended to check in this order
- Confirm the container is still alive:
docker psCheck if the Hermes container is running. - Confirm port mapping: The host port must be mapped to the actual listening port of the Dashboard.
- Access once locally on the host machine, then open and then access from the LAN device.
- If using Nginx or Caddy, check whether WebSocket, Host headers, and path forwarding are complete.
- Only when the security boundaries are clearly defined, such as only testing within the internal network, will
HERMES_DASHBOARD_INSECURE=1be set.
The most common misjudgment is that when users see "LAN cannot be opened," they assume it must be Insecure. In reality, many times it's just that Docker didn't map ports, the host firewall didn't let you through, or the browser accessed the internal address of the container.
How to create a more stable production environment
If Hermes Agent plans to run long-term on VPS, home servers, or team intranets, prioritize using reverse proxies with access control rather than exposing the Dashboard. InSecure is more like a temporary troubleshooter and controlled experiment switch, not suitable for long-term exposure. What you want isn't just "opening it," but being able to open it, control access, and be able to track logs when something goes wrong.