Standardize NOMAD host-run service paths
This commit is contained in:
@@ -2,16 +2,22 @@
|
||||
|
||||
Local static homepage for John’s morning briefing and peek-anytime news dashboard.
|
||||
|
||||
Canonical path:
|
||||
Live runtime path:
|
||||
|
||||
```bash
|
||||
/home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard
|
||||
/opt/doris-dashboard
|
||||
```
|
||||
|
||||
Source path in the homelab repo:
|
||||
|
||||
```bash
|
||||
/home/fizzlepoof/repos/truenas-stacks/home/doris-dashboard
|
||||
```
|
||||
|
||||
Generated page:
|
||||
|
||||
```bash
|
||||
/home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard/public/index.html
|
||||
/opt/doris-dashboard/public/index.html
|
||||
```
|
||||
|
||||
## What it shows
|
||||
@@ -29,14 +35,14 @@ Generated page:
|
||||
## Generate manually
|
||||
|
||||
```bash
|
||||
cd /home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard
|
||||
cd /opt/doris-dashboard
|
||||
bin/generate_dashboard.py
|
||||
```
|
||||
|
||||
## Preview locally
|
||||
|
||||
```bash
|
||||
cd /home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard/public
|
||||
cd /opt/doris-dashboard/public
|
||||
python3 -m http.server 8787
|
||||
```
|
||||
|
||||
@@ -54,9 +60,10 @@ Installed in `fizzlepoof`’s crontab:
|
||||
|
||||
```cron
|
||||
# BEGIN DORIS DASHBOARD
|
||||
DORIS_DASHBOARD_DIR=/home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard
|
||||
# Refresh local dashboard after digest collection windows.
|
||||
5,35 6-23 * * * cd $DORIS_DASHBOARD_DIR && bin/generate_dashboard.py >> logs/generate.log 2>&1
|
||||
DORIS_DASHBOARD_DIR=/opt/doris-dashboard
|
||||
DORIS_DIGEST_DIR=/home/fizzlepoof/.openclaw/workspace/doris-digest
|
||||
# Refresh local dashboard after digest collection windows; wrapper enforces Chicago daytime.
|
||||
5,35 * * * * cd $DORIS_DASHBOARD_DIR && bin/cron_generate_dashboard.sh >> logs/generate.log 2>&1
|
||||
# END DORIS DASHBOARD
|
||||
```
|
||||
|
||||
@@ -139,7 +146,7 @@ Added sections/data:
|
||||
The generated page still lives at:
|
||||
|
||||
```bash
|
||||
/home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard/public/index.html
|
||||
/opt/doris-dashboard/public/index.html
|
||||
```
|
||||
|
||||
And the LAN service remains:
|
||||
@@ -151,7 +158,7 @@ http://10.5.1.16:8787/
|
||||
Verification commands:
|
||||
|
||||
```bash
|
||||
cd /home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard
|
||||
cd /opt/doris-dashboard
|
||||
python3 -m py_compile bin/generate_dashboard.py
|
||||
bin/generate_dashboard.py
|
||||
curl -fsS http://127.0.0.1:8787/ | grep 'Doris Dashboard'
|
||||
@@ -190,7 +197,7 @@ Implementation notes:
|
||||
Verify:
|
||||
|
||||
```bash
|
||||
cd /home/fizzlepoof/.openclaw/workspace/sgt_angel/truenas-stacks/home/doris-dashboard
|
||||
cd /opt/doris-dashboard
|
||||
bin/generate_dashboard.py
|
||||
python3 - <<'PY'
|
||||
import json
|
||||
@@ -219,6 +226,16 @@ Important note:
|
||||
|
||||
- The interactive actions require the dashboard to be served by `bin/dashboard_server.py`, not plain `python -m http.server`.
|
||||
|
||||
## Runtime path sanity
|
||||
|
||||
The live systemd unit and crontab must point only at:
|
||||
|
||||
```bash
|
||||
/opt/doris-dashboard
|
||||
```
|
||||
|
||||
Do not run the dashboard from an agent workspace. Agent workspaces are for editing and staging; NOMAD host-run services belong under `/opt/<service>`.
|
||||
|
||||
## Cron fix — 2026-05-13
|
||||
|
||||
The dashboard cron now uses `bin/cron_generate_dashboard.sh`, which checks America/Chicago daytime internally. This avoids relying on `CRON_TZ`, which NOMAD's cron did not honor consistently.
|
||||
|
||||
Reference in New Issue
Block a user