updated master conf vars

This commit is contained in:
2026-04-29 20:40:08 -04:00
parent 94f90a4579
commit 7496c49bf5
3 changed files with 169 additions and 143 deletions
+4 -4
View File
@@ -671,19 +671,19 @@
# Clears stuck searches, dead transfers, purges expired failed imports. # Clears stuck searches, dead transfers, purges expired failed imports.
# SLSKD_FAILED_IMPORTS_DIR: where Soularr moves albums Lidarr rejected. # SLSKD_FAILED_IMPORTS_DIR: where Soularr moves albums Lidarr rejected.
HOST1_SLSKD_URL="http://localhost:8980" HOST1_SLSKD_URL="http://localhost:8980"
HOST1_SLSKD_API_KEY="your-slskd-api-key" HOST1_SLSKD_API_KEY="4bF9kL2mNpQrT7vWxYz1A3dEgHjKoRsU"
HOST1_SLSKD_FAILED_IMPORTS_DIR="/mnt/user/Temp_Storage/Slskd/completed/failed_imports" HOST1_SLSKD_FAILED_IMPORTS_DIR="/mnt/user/Temp_Storage/Slskd/completed/failed_imports"
# ── SABnzbd ── # ── SABnzbd ──
HOST1_SABNZBD_URL="http://localhost:8180" HOST1_SABNZBD_URL="http://localhost:8180"
HOST1_SABNZBD_API_KEY="your-sabnzbd-api-key" HOST1_SABNZBD_API_KEY="8bfefe41d83b4d50883e32859b55ca9a"
# ── qBittorrent ── # ── qBittorrent ──
# deleteFiles=false — removes torrent from qBit but leaves files on disk. # deleteFiles=false — removes torrent from qBit but leaves files on disk.
# Radarr/Sonarr manage actual files independently. # Radarr/Sonarr manage actual files independently.
HOST1_QBIT_URL="http://localhost:8080" HOST1_QBIT_URL="http://localhost:8080"
HOST1_QBIT_USERNAME="admin" HOST1_QBIT_USERNAME="root"
HOST1_QBIT_PASSWORD="your-qbit-password" HOST1_QBIT_PASSWORD="Stay0utD!ck"
QBIT_FAILSAFE_MIN_DAYS=180 QBIT_FAILSAFE_MIN_DAYS=180
QBIT_FAILSAFE_MIN_RATIO=0 # 0 = age only, no ratio requirement QBIT_FAILSAFE_MIN_RATIO=0 # 0 = age only, no ratio requirement
+8
View File
@@ -1508,3 +1508,11 @@ ZFS_REPORT_IGNORE_POOLS=(
# ============================================================================================== # ==============================================================================================
# ──────────────────────── End Of User Variables ─────────────────────────────────────────────── # ──────────────────────── End Of User Variables ───────────────────────────────────────────────
# ============================================================================================== # ==============================================================================================
important_sync_maintenance.sh should be a new orch and follow the same structure in master as our other orchs. it should trigger the important rsync and trigger, arrs_failed_stalled. any thing else it should trigger
+144 -126
View File
@@ -22,24 +22,21 @@
# v1.6 — lidarr_cleanup.sh, sonarr_cleanup.sh, radarr_cleanup.sh added # v1.6 — lidarr_cleanup.sh, sonarr_cleanup.sh, radarr_cleanup.sh added
# v1.7 — cert_monitor.sh added # v1.7 — cert_monitor.sh added
# v1.8 — Monitors/ folder added with all monitoring scripts # v1.8 — Monitors/ folder added with all monitoring scripts
# cert_monitor.sh moved from unRAID_Essentials to Monitors/
# backup_verify.sh, smart_health.sh, bandwidth_monitor.sh added
# weekly_health_digest.sh, emby_session_report.sh added
# ZFS memory snapshot moved to Monitors/ — informational only
# Directory tree updated to reflect full ecosystem
# v1.9 — transcode_management.sh added to Orchestrators/ # v1.9 — transcode_management.sh added to Orchestrators/
# v2.0 — Major restructure: array_start.sh single entry point, daily/weekly orchestrators, # v2.0 — Major restructure: array_start.sh single entry point, daily/weekly orchestrators,
# sunday_morning_coffee_report.sh, continuous_scripts_status.sh, # sunday_morning_coffee_report.sh, continuous_scripts_status.sh,
# downloaders_reset.sh, docker_network_connect ensure+connect combined, # downloaders_reset.sh, docker_network_connect ensure+connect combined,
# inotify_tuning.sh, arr path translation, version checking, nuclear mode flags # inotify_tuning.sh, arr path translation, version checking, nuclear mode flags
# replaces separate transcode_manager and transcode_cleanup cron entries # v2.1 — critical_sync_maintenance.sh added, Partnership/ folder added,
# Tools/ folder expanded with all utility scripts # DAILY_MAINTENANCE_SCRIPTS consolidates all daily jobs,
# Docker watchdog — two-tier monitoring, startup grace, dependency ordering # WEEKLY_SYNC_SHARES renamed from WEEKLY_SYNC_JOBS,
# Failover — tiered failover, DDNS management, handback sequence # CRITICAL_MAINTENANCE_SCRIPTS + CRITICAL_SYNC_SHARES added,
# Emby Docker mount fix — bind-propagation=shared required in Extra Parameters # downloaders_reset moved to CRITICAL_MAINTENANCE_SCRIPTS,
# transcode_cleanup.sh — transcoding-temp protected from directory deletion # system_tuning_monitor.sh added to Monitors/,
# ramdisk_setup.sh — creates transcoding-temp on ramdisk at array start # rsync_stop.sh auto-detects orchestrators via /proc children,
# RAMDISK_SIZE bumped to 10G, thresholds updated # check_remote_disks() auto-detects XFS/ZFS from disks.ini,
# temp check reads thresholds from dynamix.cfg,
# WEEKLY_SYNC_UPDATES renamed from CRITICAL_SYNC_UPDATES
# ============================================================================================== # ==============================================================================================
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -53,6 +50,10 @@
# ├── user_script_plug-in.sh # This file — copy into User Scripts plugin # ├── user_script_plug-in.sh # This file — copy into User Scripts plugin
# ├── git_pull_execute.sh # Pulls latest scripts from Gitea repo # ├── git_pull_execute.sh # Pulls latest scripts from Gitea repo
# │ # │
# ├── Partnership/
# │ ├── partnership_manage.sh # Lifecycle manager — onboard/offboard/transfer/check
# │ └── README-Partnership.md
# │
# ├── Failover/ # ├── Failover/
# │ ├── failover.sh # Mutual container failover — runs continuously # │ ├── failover.sh # Mutual container failover — runs continuously
# │ ├── failover_test.sh # Controlled failover simulation — run manually # │ ├── failover_test.sh # Controlled failover simulation — run manually
@@ -72,24 +73,24 @@
# │ # │
# ├── Orchestrators/ # ├── Orchestrators/
# │ ├── array_start.sh # Single entry point — launches all array-start scripts # │ ├── array_start.sh # Single entry point — launches all array-start scripts
# │ ├── daily_sync_maintenance.sh # Daily — git pull, media sync, media mgmt, docker restart # │ ├── daily_sync_maintenance.sh # Daily — git pull, media sync, maintenance jobs, docker restart
# │ ├── weekly_sync_maintenance.sh # Weekly — critical sync + updates, docker weekly restart # │ ├── weekly_sync_maintenance.sh # Weekly — Emby + auth sync, updates, weekly restart
# │ ├── daily_sync_maintenance.sh # Media shares sync both directions # │ ├── critical_sync_maintenance.sh # Every 15min — downloaders reset, auth sync, partnership check
# │ ├── weekly_sync_maintenance.sh # Clean sync + container updates (Emby + auth stack) # │ ├── transcode_management.sh # Every 3min — cleanup then manager in correct order
# │ ├── media_management.sh # Permissions + cleaners + arr cleanup — run manually # │ ├── sunday_morning_coffee_report.sh # Sunday 7am — full weekly system health report
# │ ├── transcode_management.sh # Cleanup then manager every 3min + daily stats
# │ └── README-Orchestrators.md # │ └── README-Orchestrators.md
# │ # │
# ├── Rsync/ # ├── Rsync/
# │ ├── rsync.sh # Core rsync script — called per share or profile # │ ├── rsync.sh # Core rsync script — called per share or profile
# │ ── README-Rsync_Setup.md # Rsync-specific setup guide # │ ── rsync_stop.sh # Stops rsync + orchestrators — auto-detects via /proc
# │ └── README-Rsync_Setup.md
# │ # │
# ├── Docker_Essentials/ # ├── Docker_Essentials/
# │ ├── docker_watchdog.sh # Two-tier container health monitor — self-healing # │ ├── docker_watchdog.sh # Two-tier container health monitor — self-healing
# │ ├── docker_daily_restart.sh # Restarts configured containers daily # │ ├── docker_daily_restart.sh # Restarts configured containers daily
# │ ├── docker_weekly_restart.sh # Restarts configured containers weekly # │ ├── docker_weekly_restart.sh # Restarts configured containers weekly
# │ ├── docker_network_connect.sh # Ensures custom networks exist + connects containers # │ ├── docker_network_connect.sh # Ensures custom networks exist + connects containers
# │ ├── downloaders_reset.sh # Daily reset for slskd, SABnzbd, qBittorrent # │ ├── downloaders_reset.sh # Every 15min reset for slskd, SABnzbd, qBittorrent
# │ └── README-Docker_Essentials.md # │ └── README-Docker_Essentials.md
# │ # │
# ├── Media/ # ├── Media/
@@ -98,11 +99,12 @@
# │ ├── lidarr_cleanup.sh # Removes orphaned music files via Lidarr API # │ ├── lidarr_cleanup.sh # Removes orphaned music files via Lidarr API
# │ ├── sonarr_cleanup.sh # Removes orphaned TV files via Sonarr API # │ ├── sonarr_cleanup.sh # Removes orphaned TV files via Sonarr API
# │ ├── radarr_cleanup.sh # Removes orphaned movie files via Radarr API # │ ├── radarr_cleanup.sh # Removes orphaned movie files via Radarr API
# │ ├── arrs_failed_stalled_recovery.sh # Auto blocklist + re-search failed/stalled downloads
# │ └── README-Media.md # │ └── README-Media.md
# │ # │
# ├── Transcodes/ # ├── Transcodes/
# │ ├── ramdisk_setup.sh # Creates ramdisk, symlink, and transcoding-temp # │ ├── ramdisk_setup.sh # Creates ramdisk + symlink — runs at array start
# │ ├── transcode_manager.sh # Monitors ramdisk usage, manages symlink # │ ├── transcode_manager.sh # Monitors ramdisk usage, manages symlink direction
# │ ├── transcode_cleanup.sh # Removes old inactive transcode files # │ ├── transcode_cleanup.sh # Removes old inactive transcode files
# │ └── README-Transcoding.md # │ └── README-Transcoding.md
# │ # │
@@ -119,10 +121,9 @@
# └── unRAID_Essentials/ # └── unRAID_Essentials/
# ├── clear_logs.sh # Clears unRAID system and Docker log files # ├── clear_logs.sh # Clears unRAID system and Docker log files
# ├── docker_syslog_filter.sh # Filters Docker veth noise from syslog # ├── docker_syslog_filter.sh # Filters Docker veth noise from syslog
# ├── inotify_tuning.sh # Bumps inotify limits — prevents container file event exhaustion # ├── inotify_tuning.sh # Bumps inotify limits — prevents file event exhaustion
# ├── mover_stop.sh # Safely stops the unRAID mover # ├── mover_stop.sh # Safely stops the unRAID mover
# ├── php_fpm_max_children.sh # Sets PHP-FPM max children value # ├── php_fpm_max_children.sh # Sets PHP-FPM max children value
# ├── rsync_stop.sh # Stops all rsync processes on both servers
# ├── server_reboot.sh # Graceful server reboot with user warning # ├── server_reboot.sh # Graceful server reboot with user warning
# ├── system_watchdog.sh # System health monitor — last line of defense # ├── system_watchdog.sh # System health monitor — last line of defense
# ├── user_scripts_stop.sh # Stops running User Scripts plugin jobs # ├── user_scripts_stop.sh # Stops running User Scripts plugin jobs
@@ -147,20 +148,65 @@
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ━━━ 🚀 Script Commands — Uncomment the one you want to run ━━━ # ━━━ 🚀 Script Commands — Uncomment the one you want to run ━━━
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ━━━ Orchestrators ━━━
# Orchestrators are the main runtime engines — they handle everything within their domain
# in the correct order automatically. Individual scripts below can still be run manually.
# #
# array_start.sh — At Startup of Array — single entry, launches everything
# Configurable via ARRAY_START_SCRIPTS in Master.conf
#
# daily_sync_maintenance.sh — 0 1 * * * (1am daily)
# media share sync → DAILY_MAINTENANCE_SCRIPTS jobs
# git pull, permissions, cleaners, arr cleanup, docker restart
#
# weekly_sync_maintenance.sh — 30 2 * * 0 (Sunday 2:30am)
# stop containers → updates → WEEKLY_SYNC_SHARES →
# restart → WEEKLY_MAINTENANCE_SCRIPTS
#
# critical_sync_maintenance.sh — */15 * * * * (every 15 minutes)
# CRITICAL_MAINTENANCE_SCRIPTS → CRITICAL_SYNC_SHARES →
# partnership --check
# downloaders reset, auth stack sync, Emby dirty sync
#
# transcode_management.sh — */3 * * * * (every 3 minutes)
# transcode cleanup → transcode manager (correct order)
#
# sunday_morning_coffee_report.sh — 0 7 * * 0 (Sunday 7am)
# full weekly system health report — ready when you wake up ☕
#
# arrs_failed_stalled_recovery.sh — 0 */6 * * * (every 6 hours)
# blocklist + re-search failed imports and stalled downloads
#
# system_tuning_monitor.sh — 0 */6 * * * (every 6 hours)
# snapshot inotify + php-fpm — feeds sunday coffee report
#
#/mnt/user/appdata/unraid_scripts/Orchestrators/array_start.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/weekly_sync_maintenance.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/critical_sync_maintenance.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/transcode_management.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/sunday_morning_coffee_report.sh
#/mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh
#/mnt/user/appdata/unraid_scripts/Monitors/system_tuning_monitor.sh
# ━━━ Partnership ━━━
#/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --status
#/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --onboard --dry-run
#/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --onboard
#/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --offboard --dry-run
#/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --offboard
#/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --transfer --dry-run
#/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --transfer --confirm=i-understand-this-transfers-ownership
# ━━━ Failover ━━━ # ━━━ Failover ━━━
# Runs continuously as background task — set schedule to "At Startup of Array (Background)". # Runs continuously — launched by array_start.sh via ARRAY_START_SCRIPTS.
# Both servers must have this running for mutual failover to work. # Run manually only for testing or if array_start.sh is not in use.
# #
#/mnt/user/appdata/unraid_scripts/Failover/failover.sh #/mnt/user/appdata/unraid_scripts/Failover/failover.sh
#
# ━━━ Failover Test ━━━
# Run manually during a maintenance window — starts and stops real containers.
# Always --dry-run first to walk through phases without making changes.
#
#/mnt/user/appdata/unraid_scripts/Failover/failover_test.sh --dry-run #/mnt/user/appdata/unraid_scripts/Failover/failover_test.sh --dry-run
#/mnt/user/appdata/unraid_scripts/Failover/failover_test.sh #/mnt/user/appdata/unraid_scripts/Failover/failover_test.sh
#
# ━━━ Monitors ━━━ # ━━━ Monitors ━━━
#/mnt/user/appdata/unraid_scripts/Monitors/continuous_scripts_status.sh #/mnt/user/appdata/unraid_scripts/Monitors/continuous_scripts_status.sh
# ^^ run manually anytime — live status of system_watchdog, docker_watchdog, failover # ^^ run manually anytime — live status of system_watchdog, docker_watchdog, failover
@@ -173,57 +219,21 @@
#/mnt/user/appdata/unraid_scripts/Monitors/smart_health.sh #/mnt/user/appdata/unraid_scripts/Monitors/smart_health.sh
#/mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh #/mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh
#/mnt/user/appdata/unraid_scripts/Monitors/zfs_memory_snapshot.sh #/mnt/user/appdata/unraid_scripts/Monitors/zfs_memory_snapshot.sh
#
# ━━━ Orchestrators ━━━
# Orchestrators are the main scripts — they handle most if not all needed scripts
# in a specific order of operations. Each orchestrator owns a domain and runs
# everything within it automatically. All scripts below orchestrators can still
# be run separately for testing or manual maintenance.
#
# array_start.sh — At Startup of Array — single entry, launches everything
# ramdisk, syslog filter, php-fpm, network connect (one-shot)
# system_watchdog, docker_watchdog, failover (continuous loops)
#
# daily_sync_maintenance.sh — 0 1 * * * (1am daily)
# git pull → media share sync → permissions → cleaners →
# arr cleanup → docker daily restart
#
# weekly_sync_maintenance.sh — 30 2 * * 0 (Sunday 2:30am)
# stop containers → pull updates → sync Emby + Critical-Data →
# start containers → docker weekly restart
#
# transcode_management.sh — */3 * * * * (every 3 minutes)
# transcode cleanup → transcode manager (correct order)
#
# sunday_morning_coffee_report.sh — 0 7 * * 0 (Sunday 7am)
# full weekly system health digest — ready when you wake up ☕
# system, array, failover, transcodes, media activity, rsync,
# watchdog, security, Emby stats, health summary
#
# arrs_failed_stalled_recovery.sh — 0 */6 * * * (every 6 hours)
# blocklist + re-search failed imports and stalled downloads
# across Sonarr, Radarr, and Lidarr automatically
#
# system_tuning_monitor.sh — 0 */6 * * * (every 6 hours)
# snapshot inotify + php-fpm usage — feeds sunday coffee report
# weekly peak, average, low, warning count
#
#/mnt/user/appdata/unraid_scripts/Orchestrators/array_start.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/weekly_sync_maintenance.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/transcode_management.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/sunday_morning_coffee_report.sh
#/mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh
#/mnt/user/appdata/unraid_scripts/Monitors/system_tuning_monitor.sh
#
# ━━━ Rsync — Appdata Profiles ━━━ # ━━━ Rsync — Appdata Profiles ━━━
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Arrs_Stack #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Arrs_Stack
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Critical-Data #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Critical-Data
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Important-Data #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Important-Data
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Media_Server/Emby --profile=emby-failover
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Media_Server/Emby
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Gmer4Lfe #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Gmer4Lfe
# #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Media_Server/Emby --profile=emby-failover
# ^^ dirty sync — Emby stays running — called by critical_sync_maintenance.sh every 15min
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Media_Server/Emby
# ^^ do NOT schedule — called by weekly_sync_maintenance.sh Sunday 2:30am only
#/mnt/user/appdata/unraid_scripts/Rsync/rsync_stop.sh
# ^^ smart stop — auto-detects orchestrators via /proc, rsync-only if orchestrator running
#/mnt/user/appdata/unraid_scripts/Rsync/rsync_stop.sh --full-stop
# ^^ nuclear — kills orchestrator first then rsync
# ━━━ Rsync — Individual Media Shares (ad hoc) ━━━ # ━━━ Rsync — Individual Media Shares (ad hoc) ━━━
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Movies #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Movies
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Tv_Shows #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Tv_Shows
@@ -240,20 +250,23 @@
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Nextcloud #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Nextcloud
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Sports #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Sports
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/stand-up_comedy #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/stand-up_comedy
#
# ━━━ Docker Essentials ━━━ # ━━━ Docker Essentials ━━━
#/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_watchdog.sh #/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_watchdog.sh
# ^^ runs continuously — launched by array_start.sh
#/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_daily_restart.sh #/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_daily_restart.sh
# ^^ called by daily_sync_maintenance.sh via DAILY_MAINTENANCE_SCRIPTS
#/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_weekly_restart.sh #/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_weekly_restart.sh
# ^^ called by weekly_sync_maintenance.sh via WEEKLY_MAINTENANCE_SCRIPTS
#/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_network_connect.sh #/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_network_connect.sh
# ^^ ensures custom networks exist + connects containers — run at array start # ^^ ensures custom networks exist + connects containers — called by array_start.sh
#/mnt/user/appdata/unraid_scripts/Docker_Essentials/downloaders_reset.sh --dry-run --log #/mnt/user/appdata/unraid_scripts/Docker_Essentials/downloaders_reset.sh --dry-run
#/mnt/user/appdata/unraid_scripts/Docker_Essentials/downloaders_reset.sh #/mnt/user/appdata/unraid_scripts/Docker_Essentials/downloaders_reset.sh
# ^^ called by daily_sync_maintenance.sh via MEDIA_MANAGEMENT_JOBS — run manually for testing # ^^ called by critical_sync_maintenance.sh every 15min via CRITICAL_MAINTENANCE_SCRIPTS
#
# ━━━ Media ━━━ # ━━━ Media ━━━
# media_management.sh is absorbed into daily_sync_maintenance.sh via MEDIA_MANAGEMENT_JOBS. # All media jobs run via DAILY_MAINTENANCE_SCRIPTS — scripts below for manual runs only.
# Scripts below available for manual runs only — always --dry-run first on arr cleanup scripts. # Always --dry-run first on arr cleanup scripts.
# #
#/mnt/user/appdata/unraid_scripts/Media/media_shares_permissions.sh #/mnt/user/appdata/unraid_scripts/Media/media_shares_permissions.sh
#/mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh anime --dry-run #/mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh anime --dry-run
@@ -262,18 +275,17 @@
#/mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh media #/mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh media
#/mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh --dry-run --log #/mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh --dry-run --log
#/mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh #/mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh
#/mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh --i-know-what-im-doing --skip-strike-list
#/mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh --dry-run --log #/mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh --dry-run --log
#/mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh #/mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh
#/mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh --dry-run --log #/mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh --dry-run --log
#/mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh #/mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh
#/mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh --dry-run #/mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh --dry-run
#/mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh #/mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh
# ^^ schedule: 0 5 * * * (5am daily) — always dry-run first
#
# ━━━ Transcodes ━━━ # ━━━ Transcodes ━━━
# transcode_management.sh runs cleanup then manager — schedule that, not the individuals. # transcode_management.sh runs cleanup then manager — schedule that, not the individuals.
# ramdisk_setup.sh runs once at array start. # ramdisk_setup.sh runs once at array start via ARRAY_START_SCRIPTS.
# transcode_manager.sh and transcode_cleanup.sh available for individual manual runs.
# #
#/mnt/user/appdata/unraid_scripts/Transcodes/ramdisk_setup.sh #/mnt/user/appdata/unraid_scripts/Transcodes/ramdisk_setup.sh
#/mnt/user/appdata/unraid_scripts/Orchestrators/transcode_management.sh #/mnt/user/appdata/unraid_scripts/Orchestrators/transcode_management.sh
@@ -281,7 +293,7 @@
#/mnt/user/appdata/unraid_scripts/Transcodes/transcode_manager.sh #/mnt/user/appdata/unraid_scripts/Transcodes/transcode_manager.sh
#/mnt/user/appdata/unraid_scripts/Transcodes/transcode_cleanup.sh --dry-run #/mnt/user/appdata/unraid_scripts/Transcodes/transcode_cleanup.sh --dry-run
#/mnt/user/appdata/unraid_scripts/Transcodes/transcode_cleanup.sh #/mnt/user/appdata/unraid_scripts/Transcodes/transcode_cleanup.sh
#
# ━━━ Tools ━━━ # ━━━ Tools ━━━
#/mnt/user/appdata/unraid_scripts/Tools/bulk_permissions_repair.sh /mnt/user/ShareName #/mnt/user/appdata/unraid_scripts/Tools/bulk_permissions_repair.sh /mnt/user/ShareName
#/mnt/user/appdata/unraid_scripts/Tools/container_data_export.sh ContainerName /path/to/appdata /path/to/output #/mnt/user/appdata/unraid_scripts/Tools/container_data_export.sh ContainerName /path/to/appdata /path/to/output
@@ -293,21 +305,20 @@
#/mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --clear ContainerName #/mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --clear ContainerName
#/mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --clear-all #/mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --clear-all
#/mnt/user/appdata/unraid_scripts/Tools/zfs_pool_scrub.sh #/mnt/user/appdata/unraid_scripts/Tools/zfs_pool_scrub.sh
#
# ━━━ unRAID Essentials ━━━ # ━━━ unRAID Essentials ━━━
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/clear_logs.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/clear_logs.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/docker_syslog_filter.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/docker_syslog_filter.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/inotify_tuning.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/mover_stop.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/mover_stop.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/php_fpm_max_children.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/php_fpm_max_children.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/rsync_stop.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/server_reboot.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/server_reboot.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/system_watchdog.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/system_watchdog.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/user_scripts_stop.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/user_scripts_stop.sh
#/mnt/user/appdata/unraid_scripts/unRAID_Essentials/webgui_restart.sh #/mnt/user/appdata/unraid_scripts/unRAID_Essentials/webgui_restart.sh
#
# ━━━ Git repo (Gitea) ━━━ # ━━━ Git ━━━
#/mnt/user/appdata/unraid_scripts/git_pull_execute.sh #/mnt/user/appdata/unraid_scripts/git_pull_execute.sh
#
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ━━━ ⚙️ Arguments ━━━ # ━━━ ⚙️ Arguments ━━━
@@ -326,10 +337,15 @@
# media_cleaner.sh anime --dry-run — profile required as first argument # media_cleaner.sh anime --dry-run — profile required as first argument
# bandwidth_monitor.sh --report — generate weekly summary report # bandwidth_monitor.sh --report — generate weekly summary report
# lidarr/sonarr/radarr --dry-run --log — always test arr cleanup before running live # lidarr/sonarr/radarr --dry-run --log — always test arr cleanup before running live
# lidarr/sonarr/radarr --i-know-what-im-doing --skip-strike-list — nuclear mode
# transcode_management.sh --dry-run — passes through to both child scripts # transcode_management.sh --dry-run — passes through to both child scripts
# watchdog_skip_list_manager.sh --status — view skip list and restart history # watchdog_skip_list_manager.sh --status — view skip list and restart history
# watchdog_skip_list_manager.sh --clear Name — clear specific container # watchdog_skip_list_manager.sh --clear Name — clear specific container
# failover_state_reset.sh --status — view current failover state file # failover_state_reset.sh --status — view current failover state file
# rsync_stop.sh — smart stop, auto-detects what is running
# rsync_stop.sh --full-stop — nuclear, kills orchestrator first
# partnership_manage.sh --status — show current partnership state
# partnership_manage.sh --check — called automatically every 15min, do not run manually
# #
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ━━━ 📋 Recommended Schedules ━━━ # ━━━ 📋 Recommended Schedules ━━━
@@ -339,46 +355,48 @@
# array_start.sh — single entry point, launches everything below # array_start.sh — single entry point, launches everything below
# configure what runs in ARRAY_START_SCRIPTS in Master.conf # configure what runs in ARRAY_START_SCRIPTS in Master.conf
# #
# Launched by array_start.sh: # Launched by array_start.sh (configured via ARRAY_START_SCRIPTS):
# ramdisk_setup.sh — creates ramdisk before Emby starts (one-shot) # ramdisk_setup.sh — creates ramdisk before Emby starts (one-shot)
# docker_syslog_filter.sh — suppress veth noise before logs fill (one-shot) # docker_syslog_filter.sh — suppress veth noise before logs fill (one-shot)
# php_fpm_max_children.sh — WebGUI performance tuning (one-shot) # php_fpm_max_children.sh — WebGUI performance tuning (one-shot)
# docker_network_connect.sh — ensure custom networks exist + connect containers (one-shot) # inotify_tuning.sh — bump inotify limits (one-shot)
# docker_network_connect.sh — ensure custom networks exist + connect (one-shot)
# system_watchdog.sh — system health monitor (continuous) # system_watchdog.sh — system health monitor (continuous)
# docker_watchdog.sh — container health monitor (continuous) # docker_watchdog.sh — container health monitor (continuous)
# failover.sh — mutual failover (continuous) # failover.sh — mutual failover (continuous) — enable when HOST2 ready
# #
# ━━━ Frequent (cron) ━━━ # ━━━ Every 3 minutes ━━━
# */3 * * * * transcode_management.sh (cleanup + manager every 3min) # */3 * * * * transcode_management.sh (cleanup + manager — correct order)
# */30 * * * * rsync.sh /mnt/user/Media_Server/Emby (emby-failover dirty sync) #
# --profile=emby-failover # ━━━ Every 15 minutes ━━━
# */6 * * * * arrs_failed_stalled_recovery.sh (blocklist + re-search) # */15 * * * * critical_sync_maintenance.sh (downloaders reset + auth sync + partnership check)
# */15 * * * * system_watchdog.sh #
# ━━━ Every 6 hours ━━━
# 0 */6 * * * arrs_failed_stalled_recovery.sh (blocklist + re-search failed/stalled)
# 0 */6 * * * system_tuning_monitor.sh (inotify + php-fpm snapshot)
# #
# ━━━ Daily ━━━ # ━━━ Daily ━━━
# 0 1 * * * daily_sync_maintenance.sh (git pull + media sync + media_management + docker restart) # 0 1 * * * daily_sync_maintenance.sh (git pull + media sync + maintenance + restart)
# 0 5 * * * arrs_failed_stalled_recovery.sh (blocklist + re-search failed imports + stalled) # 0 8 * * * weekly_health_digest.sh (profile controls if/when it sends)
# 0 8 * * * weekly_health_digest.sh (profile controls if it sends)
# #
# ━━━ Rsync profiles — schedule individually ━━━ # ━━━ Weekly ━━━
# 30 2 * * 0 weekly_sync_maintenance.sh (Emby + auth sync + updates + weekly restart)
# 0 7 * * 0 sunday_morning_coffee_report.sh (full weekly health report — Sunday 7am)
#
# ━━━ Manual only ━━━
# continuous_scripts_status.sh (live status of all watchdogs + failover)
# rsync_stop.sh (stop rsync — smart auto-detect)
# rsync_stop.sh --full-stop (stop everything including orchestrator)
# partnership_manage.sh --onboard (set up mirror relationship)
# partnership_manage.sh --offboard (clean separation — either server)
# partnership_manage.sh --transfer (flip ownership — owner only)
#
# ━━━ Rsync profiles — individual schedules ━━━
# Arrs_Stack — daily or every few days (arr databases change on every download) # Arrs_Stack — daily or every few days (arr databases change on every download)
# Critical-Data — handled by weekly_sync_maintenance.sh — no separate schedule needed # Critical-Data — handled by critical_sync_maintenance.sh every 15min — no separate schedule
# Important-Data — daily (NextCloud file changes) # Important-Data — daily (NextCloud file changes)
# Gmer4Lfe — daily or weekly (personal appdata, rarely changes) # Gmer4Lfe — daily or weekly (personal appdata)
# Emby — handled by weekly_sync_maintenance.sh — no separate schedule needed # Emby — handled by weekly_sync_maintenance.sh Sunday 2:30am — no separate schedule
# emby-failover — every 30-60min via frequent cron above # emby-failover — handled by critical_sync_maintenance.sh every 15min — no separate schedule
#
# ━━━ Weekly — Sunday morning block ━━━
# 30 2 * * 0 weekly_sync_maintenance.sh (clean sync + updates + docker weekly restart)
# 0 7 * * 0 sunday_morning_coffee_report.sh (weekly health digest — ready when you wake up)
#
# Individual monitor scripts still available for manual runs:
# clear_logs.sh, zfs_memory_snapshot.sh, smart_health.sh
# cert_monitor.sh, backup_verify.sh, emby_session_report.sh
# weekly_health_digest.sh, bandwidth_monitor.sh --report
#
# ━━━ Bandwidth monitor ━━━
# bandwidth_monitor.sh --log-transfer called automatically by rsync.sh
# bandwidth_monitor.sh --report runs standalone for weekly summary
# #
# ============================================================================================== # ==============================================================================================