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:
@@ -167,10 +167,12 @@ without `--log`.
|
|||||||
| Script | What It Orchestrates | Schedule |
|
| Script | What It Orchestrates | Schedule |
|
||||||
|--------|---------------------|----------|
|
|--------|---------------------|----------|
|
||||||
| `array_start.sh` | All array startup scripts in order | At Startup of Array |
|
| `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 |
|
| `transcode_management.sh` | Cleanup then manager — order critical | Every 3 minutes |
|
||||||
| `arrs_failed_stalled_recovery.sh` | Failed import + stalled download recovery | Every 6 hours |
|
| `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 |
|
| `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 |
|
| `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) |
|
| `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.
|
# Each script is launched with `bash script.sh &` — background process.
|
||||||
# After 1 second:
|
# After 1 second:
|
||||||
# PID still alive → continuous script (running in background)
|
# 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
|
# PID dead + exit 0 → one-shot completed successfully
|
||||||
# logged as: "inotify_tuning.sh — completed (one-shot)"
|
# logged as: "inotify_tuning.sh — completed (one-shot)"
|
||||||
# PID dead + exit N → failure
|
# PID dead + exit N → failure
|
||||||
|
|||||||
@@ -899,7 +899,7 @@ Background: NO
|
|||||||
**What it shows:**
|
**What it shows:**
|
||||||
Strike counts for all monitored containers. Current skip list with running/stopped state.
|
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
|
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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -476,11 +476,12 @@ Monitoring:
|
|||||||
```
|
```
|
||||||
Unraid_Scripts/
|
Unraid_Scripts/
|
||||||
│
|
│
|
||||||
├── master.conf ← All shared configuration — the only file you edit regularly
|
├── Configurations/ ← All configuration files — the only files you edit regularly
|
||||||
├── host1.conf ← HOST1-specific: share lists, container names, API keys
|
│ ├── master.conf ← Shared: thresholds, toggles, job lists, watchdog settings
|
||||||
├── host2.conf ← HOST2-specific: same structure, different values
|
│ ├── 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
|
├── 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
|
├── Orchestrators/ ← Scheduled job runners — what Arbiter executes
|
||||||
│ README: README-Orchestrators.md
|
│ README: README-Orchestrators.md
|
||||||
@@ -488,8 +489,8 @@ Unraid_Scripts/
|
|||||||
├── Rsync/ ← Core rsync script — called per share with profile
|
├── Rsync/ ← Core rsync script — called per share with profile
|
||||||
│ README: README-Rsync_Setup.md
|
│ README: README-Rsync_Setup.md
|
||||||
│
|
│
|
||||||
├── Failover/ ← Mutual automatic failover — continuous background process
|
├── Fallback/ ← Mutual automatic failover — continuous background process
|
||||||
│ README: README-Failover.md
|
│ README: README-Fallback.md
|
||||||
│
|
│
|
||||||
├── Watchdogs/ ← All watchdog scripts: resource, docker, system, stability
|
├── Watchdogs/ ← All watchdog scripts: resource, docker, system, stability
|
||||||
│ README: README-Watchdogs.md
|
│ README: README-Watchdogs.md
|
||||||
@@ -512,16 +513,22 @@ Unraid_Scripts/
|
|||||||
├── Partnership/ ← Two-server relationship lifecycle: onboard, offboard, transfer
|
├── Partnership/ ← Two-server relationship lifecycle: onboard, offboard, transfer
|
||||||
│ README: README-Partnership.md
|
│ 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
|
└── Tools/ ← Situational utilities: repair, export, emergency tools
|
||||||
README: README-Tools.md
|
README: README-Tools.md
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ━━━ CONFIGURATION — THREE FILES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
## ━━━ CONFIGURATION — Configurations/ FOLDER, THREE FILES ━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
```bash
|
```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
|
# master.conf — shared across both servers
|
||||||
# Everything that applies equally to both: thresholds, schedules, profile
|
# Everything that applies equally to both: thresholds, schedules, profile
|
||||||
# definitions, watchdog settings, arr cleanup config, DDNS timing, etc.
|
# definitions, watchdog settings, arr cleanup config, DDNS timing, etc.
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ Watchdogs/
|
|||||||
|
|
||||||
| Script | Role | When It Runs |
|
| 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 |
|
| `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 |
|
| `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 |
|
| `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
|
└─ php_fpm_max_children.sh ← before WebGUI is under load
|
||||||
|
|
||||||
Every minute (watchdog_orchestrator.sh in Orchestrators/):
|
Every minute (watchdog_orchestrator.sh in Orchestrators/):
|
||||||
→ Watchdogs/resource_watchdog.sh → Watchdogs/docker_watchdog.sh
|
→ Watchdogs/resource_watchdog.sh
|
||||||
→ Watchdogs/System/storage_watchdog.sh → Watchdogs/system_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)
|
(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):
|
Weekly (weekly_maintenance.sh):
|
||||||
└─ clear_logs.sh
|
└─ clear_logs.sh
|
||||||
System logs: clear if > LOG_MIN_SIZE_MB
|
System logs: clear if > LOG_MIN_SIZE_MB
|
||||||
|
|||||||
Reference in New Issue
Block a user