docs/ops/RUNNER_BOX.md
The self-hosted pool (self-hosted, omni-release labels) runs on the 16 GB box at
192.168.0.113. Two failure modes recurred on release days and were, until v3.8.49,
manual discipline; the janitor script codifies them (WS3.3 of the quality plan):
sudo mkdir -p /opt/omniroute-ops
sudo cp scripts/ops/runner-janitor.sh /opt/omniroute-ops/
sudo chmod +x /opt/omniroute-ops/runner-janitor.sh
( sudo crontab -l 2>/dev/null; echo '*/30 * * * * /opt/omniroute-ops/runner-janitor.sh >> /var/log/runner-janitor.log 2>&1' ) | sudo crontab -
What it does every 30min: sweeps runner temp leftovers older than 24h, alerts at
≥85% root-disk usage, and alerts when more than the runner ceiling (default 4, tunable
via the script's own environment) of Runner.Listener processes are up. Alerts land in /var/log/runner-janitor.log
with a non-zero exit (grep for ⚠).
systemctl stop
only when its runner is idle (Runner.Listener without a Runner.Worker child)..15 VPS is homologation-only — never runs CI runners.