Fix Hermes cron delivery to Docker profiles
This commit is contained in:
@@ -59,6 +59,31 @@ Container-Images stammen aus den dokumentierten Registries beziehungsweise den
|
||||
eigenen Gitea-Repositories. Damit besteht die Wiederherstellung aus
|
||||
Appdata-Restore plus Neuerstellung über die jeweilige Template-XML.
|
||||
|
||||
### Hermes Cron/Bot-Chat auf Unraid
|
||||
|
||||
Der offizielle Hermes-Build `0.21.0` mit Upstream-Stand `4b30b917` entfernt im
|
||||
Cron-Zustellprozess fälschlich `HERMES_HOME`. Bei einem Docker-Datenverzeichnis
|
||||
unter `/opt/data` findet `deliver=bot-chat:<profil>` dadurch vorhandene Profile
|
||||
nicht. Bis zur Übernahme des Upstream-Fixes bindet die Unraid-Vorlage dieses
|
||||
idempotente Startskript ein:
|
||||
|
||||
- Host: `/mnt/nvme-storage/appdata/Hermes-Agent/patches/025-cron-profile-root-fix`
|
||||
- Container: `/etc/cont-init.d/025-cron-profile-root-fix` (read-only)
|
||||
- Quelle: `platform/hermes/025-cron-profile-root-fix`
|
||||
|
||||
Das Skript entfernt nur die bekannte fehlerhafte Zeile. Ist sie in einem neuen
|
||||
Image nicht mehr vorhanden, bleibt der Workaround automatisch wirkungslos. Es
|
||||
stellt außerdem `/usr/local/bin/hermes` wieder her, weil der offizielle
|
||||
Container den vom eigenen Doctor erwarteten CLI-Link derzeit nicht anlegt.
|
||||
|
||||
Nach einem Restore die Datei mit Modus `0755` ins Appdata kopieren, den Mount in
|
||||
der DockerMan-Vorlage kontrollieren und den Container neu erstellen. Prüfung:
|
||||
|
||||
```bash
|
||||
docker logs Hermes-Agent 2>&1 | grep cron-profile-root-fix
|
||||
docker exec Hermes-Agent hermes cron doctor
|
||||
```
|
||||
|
||||
## Kontrolle
|
||||
|
||||
```bash
|
||||
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
target=/opt/hermes/cron/scheduler_delivery.py
|
||||
broken='env.pop("HERMES_HOME", None)'
|
||||
|
||||
if [ -f "$target" ] && grep -Fq "$broken" "$target"; then
|
||||
sed -i '/^[[:space:]]*env\.pop("HERMES_HOME", None)[[:space:]]*$/d' "$target"
|
||||
echo "[cron-profile-root-fix] preserved HERMES_HOME for named-profile delivery"
|
||||
else
|
||||
echo "[cron-profile-root-fix] upstream code already fixed or layout changed; no action"
|
||||
fi
|
||||
|
||||
cli_dir="${HERMES_HOME:-/opt/data}/.local/bin"
|
||||
mkdir -p "$cli_dir"
|
||||
ln -sfn /opt/hermes/.venv/bin/hermes "$cli_dir/hermes"
|
||||
ln -sfn /opt/hermes/.venv/bin/hermes /usr/local/bin/hermes
|
||||
Reference in New Issue
Block a user