From cf94f2f7c472107d17d61b1bab37164d4d0ec09a Mon Sep 17 00:00:00 2001 From: Sanjay Santhanam <51058514+Sanjays2402@users.noreply.github.com> Date: Mon, 25 May 2026 23:11:59 -0700 Subject: [PATCH] docs(docker): promote scheduled-jobs section to H2 + runnable verify command (review feedback from @nesquena-hermes) --- docs/docker.md | 14 ++++++++------ static/panels.js | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/docker.md b/docs/docker.md index 3c3902c4..9ef9ccb9 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -51,16 +51,14 @@ them manually from the Tasks panel. In Docker, scheduled jobs require the Hermes to tick while you are away. If System Settings shows `Gateway not configured`, use `docker-compose.two-container.yml`, `docker-compose.three-container.yml`, or run `hermes gateway` separately before -relying on offline scheduled runs. See [Scheduled jobs require a gateway daemon](#scheduled-jobs-require-a-gateway-daemon) below for the full background and verification steps. +relying on offline scheduled runs. See [Scheduled jobs and the gateway daemon](#scheduled-jobs-and-the-gateway-daemon) below for the full background and verification steps. For troubleshooting, reinstall, or onboarding reproduction trials, do not mount your real `~/.hermes` unless you intentionally want to test real state. Use an isolated Hermes home and follow [`docs/onboarding-agent-checklist.md`](onboarding-agent-checklist.md) instead. -## What goes wrong (and how to fix it) - -### Scheduled jobs require a gateway daemon +## Scheduled jobs and the gateway daemon **Symptom**: Cron jobs created in the Tasks panel never fire. System Settings shows the orange "Gateway not configured" pill, and the Tasks panel shows the same banner above the job list. @@ -75,14 +73,18 @@ docker compose -f docker-compose.two-container.yml up -d The three-container layout adds the dashboard but is otherwise the same shape. If you must stay single-container, you can run `hermes gateway` inside the container as a long-lived background process, but the compose split is sturdier. -**Verify**: Once the gateway is up, the System Settings pill should turn green and the Tasks banner disappear. From inside the gateway container: +**Verify**: Once the gateway is up, the System Settings pill should turn green and the Tasks banner disappear. From the host: ```bash -docker exec -it hermes gateway status +docker compose -f docker-compose.two-container.yml exec hermes-agent hermes gateway status ``` +If the service name differs in your compose file, `docker compose -f docker-compose.two-container.yml ps` lists the running services. + Refs #2785. +## What goes wrong (and how to fix it) + ### 1. "Permission denied" at startup **Symptom**: Container starts but immediately crashes, logs show: diff --git a/static/panels.js b/static/panels.js index bd1b162f..7915014f 100644 --- a/static/panels.js +++ b/static/panels.js @@ -437,7 +437,7 @@ function _cronGatewayNoticeHtml(status) { const body = notConfigured ? 'In Hermes WebUI, scheduled jobs require the Hermes gateway daemon. If this is a single-container Docker install, jobs can be created and run manually here, but scheduled ticks need a gateway container or `hermes gateway` running outside the WebUI.' : 'In Hermes WebUI, scheduled jobs require the Hermes gateway daemon to be running. Start the gateway container or `hermes gateway` before relying on offline scheduled runs.'; - const docsHref = 'https://github.com/nesquena/hermes-webui/blob/master/docs/docker.md#scheduled-jobs-require-a-gateway-daemon'; + const docsHref = 'https://github.com/nesquena/hermes-webui/blob/master/docs/docker.md#scheduled-jobs-and-the-gateway-daemon'; const helpLink = notConfigured ? `

How to enable scheduled jobs in Docker ↗

` : '';