fix stale doc references across four files

README.md:
  - folder tree: conf files at root → Configurations/ subfolder
  - folder tree: Failover/ → Fallback/, wrong README name corrected
  - folder tree: add Kernel/ entry (was missing)
  - CONFIGURATION section: note Configurations/ path + sparse checkout

README-User_Script_Plug-in.md:
  - mem_shutdown_active attributed to stability_watchdog → resource_watchdog

unRAID_Essentials/README-Unraid_Essentials.md:
  - webgui_watchdog schedule: "Every 10 min via User Scripts" →
    "Every minute via watchdog_orchestrator → system_watchdog"
  - HOW THE SCRIPTS RELATE: arrow diagram corrected — system_watchdog.sh
    calls storage/webgui/network watchdogs, not the reverse; added
    network_watchdog.sh and stability_watchdog.sh to the flow

Orchestrators/README-Orchestrators.md:
  - continuous daemon example: system_watchdog.sh → fallback.sh
    (system_watchdog is now single-pass, not a daemon)
  - scripts table: add watchdog_orchestrator.sh and monthly_maintenance.sh
    (both were missing)
This commit is contained in:
Gmer4Lfe
2026-05-22 21:41:31 -04:00
parent 8d8a4fd637
commit 8b0ee44b65
4 changed files with 32 additions and 21 deletions
+3 -1
View File
@@ -167,10 +167,12 @@ without `--log`.
| Script | What It Orchestrates | Schedule |
|--------|---------------------|----------|
| `array_start.sh` | All array startup scripts in order | At Startup of Array |
| `watchdog_orchestrator.sh` | resource → docker → system → stability watchdogs | Every minute |
| `transcode_management.sh` | Cleanup then manager — order critical | Every 3 minutes |
| `arrs_failed_stalled_recovery.sh` | Failed import + stalled download recovery | Every 6 hours |
| `daily_sync_maintenance.sh` | git pull → sync → media maintenance → restarts | 1am daily |
| `weekly_sync_maintenance.sh` | Stop → update → clean sync → start → weekly restarts | 2:30am Sunday |
| `monthly_maintenance.sh` | Uptime-triggered heavy tasks — ZFS scrub, SMART tests | Daily check, fires when uptime ≥ 30d |
| `media_management.sh` | Permissions → cleaners → arr cleanup | Via daily_sync (or manual) |
---
@@ -233,7 +235,7 @@ ARRAY_START_SCRIPTS=(
# Each script is launched with `bash script.sh &` — background process.
# After 1 second:
# PID still alive → continuous script (running in background)
# logged as: "system_watchdog.sh — running (PID 12345)"
# logged as: "fallback.sh — running (PID 12345)"
# PID dead + exit 0 → one-shot completed successfully
# logged as: "inotify_tuning.sh — completed (one-shot)"
# PID dead + exit N → failure
+1 -1
View File
@@ -899,7 +899,7 @@ Background: NO
**What it shows:**
Strike counts for all monitored containers. Current skip list with running/stopped state.
Whether startup grace period is active and how long remains. Whether RAM emergency
deferral is active (mem_shutdown_active from stability_watchdog). Last cycle timing.
deferral is active (mem_shutdown_active from resource_watchdog). Last cycle timing.
---
+14 -7
View File
@@ -476,11 +476,12 @@ Monitoring:
```
Unraid_Scripts/
├── master.conf ← All shared configuration — the only file you edit regularly
├── host1.conf ← HOST1-specific: share lists, container names, API keys
├── host2.conf ← HOST2-specific: same structure, different values
├── Configurations/ ← All configuration files — the only files you edit regularly
│ ├── master.conf ← Shared: thresholds, toggles, job lists, watchdog settings
├── host1.conf ← HOST1-specific: share lists, container names, API keys
│ └── host2.conf ← HOST2-specific: same structure, different values
├── common.sh ← Shared library — all functions used by every script
├── load_config.sh ← Sources all conf files and common.sh
├── load_config.sh ← Sources Configurations/ and common.sh at startup
├── Orchestrators/ ← Scheduled job runners — what Arbiter executes
│ README: README-Orchestrators.md
@@ -488,8 +489,8 @@ Unraid_Scripts/
├── Rsync/ ← Core rsync script — called per share with profile
│ README: README-Rsync_Setup.md
├── Failover/ ← Mutual automatic failover — continuous background process
│ README: README-Failover.md
├── Fallback/ ← Mutual automatic failover — continuous background process
│ README: README-Fallback.md
├── Watchdogs/ ← All watchdog scripts: resource, docker, system, stability
│ README: README-Watchdogs.md
@@ -512,16 +513,22 @@ Unraid_Scripts/
├── Partnership/ ← Two-server relationship lifecycle: onboard, offboard, transfer
│ README: README-Partnership.md
├── Kernel/ ← Kernel module config — loaded at boot by go file
│ README: README-Kernel.md
└── Tools/ ← Situational utilities: repair, export, emergency tools
README: README-Tools.md
```
---
## ━━━ CONFIGURATION — THREE FILES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## ━━━ CONFIGURATION — Configurations/ FOLDER, THREE FILES ━━━━━━━━━━━━━━━━━━━
```bash
# ─────────────────────────────────────────────────────────────────────────────
# All three conf files live in Configurations/. load_config.sh sources them.
# Sparse checkout ensures each server only receives its own host*.conf.
#
# master.conf — shared across both servers
# Everything that applies equally to both: thresholds, schedules, profile
# definitions, watchdog settings, arr cleanup config, DDNS timing, etc.
@@ -110,7 +110,7 @@ Watchdogs/
| Script | Role | When It Runs |
|--------|------|-------------|
| `webgui_watchdog.sh` | WebGUI availability — nginx → php-fpm → emhttp | Every 10 min via User Scripts |
| `webgui_watchdog.sh` | WebGUI availability — nginx → php-fpm → emhttp | Every minute via watchdog_orchestrator → system_watchdog |
| `inotify_tuning.sh` | Raise inotify kernel limits | At array start — FIRST |
| `php_fpm_max_children.sh` | Set PHP-FPM max worker count | At array start |
| `docker_syslog_filter.sh` | Suppress Docker veth syslog noise | At array start — before containers |
@@ -132,18 +132,20 @@ Array starts
└─ php_fpm_max_children.sh ← before WebGUI is under load
Every minute (watchdog_orchestrator.sh in Orchestrators/):
→ Watchdogs/resource_watchdog.sh → Watchdogs/docker_watchdog.sh
→ Watchdogs/System/storage_watchdog.sh → Watchdogs/system_watchdog.sh
(see Watchdogs/README-Watchdogs.md for full flow)
Every 10 minutes (User Scripts):
└─ webgui_watchdog.sh
→ Watchdogs/resource_watchdog.sh
→ Watchdogs/docker_watchdog.sh
Watchdogs/system_watchdog.sh (thin orchestrator)
└─ Watchdogs/System/storage_watchdog.sh
└─ Watchdogs/System/webgui_watchdog.sh
WebGUI OK → silent exit
Not responding:
Step 1: restart nginx → recheck
Step 2: restart php-fpm → recheck
Step 3: restart emhttp → recheck
All failed → notify, exit 1
└─ Watchdogs/System/network_watchdog.sh
→ Watchdogs/stability_watchdog.sh
(see Watchdogs/README-Watchdogs.md for full flow)
Weekly (weekly_maintenance.sh):
└─ clear_logs.sh