From 8b0ee44b6569f8b87aada458b928feafd10dae9e Mon Sep 17 00:00:00 2001 From: Gmer4Lfe Date: Fri, 22 May 2026 21:41:31 -0400 Subject: [PATCH] fix stale doc references across four files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- Orchestrators/README-Orchestrators.md | 4 ++- README-User_Script_Plug-in.md | 2 +- README.md | 21 ++++++++++----- unRAID_Essentials/README-Unraid_Essentials.md | 26 ++++++++++--------- 4 files changed, 32 insertions(+), 21 deletions(-) diff --git a/Orchestrators/README-Orchestrators.md b/Orchestrators/README-Orchestrators.md index fbc36d9..0865898 100644 --- a/Orchestrators/README-Orchestrators.md +++ b/Orchestrators/README-Orchestrators.md @@ -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 diff --git a/README-User_Script_Plug-in.md b/README-User_Script_Plug-in.md index 395717c..6f200fc 100644 --- a/README-User_Script_Plug-in.md +++ b/README-User_Script_Plug-in.md @@ -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. --- diff --git a/README.md b/README.md index a6261e6..232c3be 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/unRAID_Essentials/README-Unraid_Essentials.md b/unRAID_Essentials/README-Unraid_Essentials.md index 591215e..963ff8d 100644 --- a/unRAID_Essentials/README-Unraid_Essentials.md +++ b/unRAID_Essentials/README-Unraid_Essentials.md @@ -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,19 +132,21 @@ 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 + → 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) -Every 10 minutes (User Scripts): - └─ 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 - Weekly (weekly_maintenance.sh): └─ clear_logs.sh System logs: clear if > LOG_MIN_SIZE_MB