docs(docker): promote scheduled-jobs section to H2 + runnable verify command (review feedback from @nesquena-hermes)

This commit is contained in:
Sanjay Santhanam
2026-05-25 23:11:59 -07:00
parent 655b5f9101
commit cf94f2f7c4
2 changed files with 9 additions and 7 deletions

View File

@@ -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 <gateway-container> 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:

View File

@@ -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
? `<p><a href="${docsHref}" target="_blank" rel="noopener">How to enable scheduled jobs in Docker ↗</a></p>`
: '';