diff --git a/Media/arr_sync.sh b/Arrs_Stack/arr_sync.sh similarity index 100% rename from Media/arr_sync.sh rename to Arrs_Stack/arr_sync.sh diff --git a/Media/arrs_failed_stalled_recovery.sh b/Arrs_Stack/arrs_failed_stalled_recovery.sh similarity index 100% rename from Media/arrs_failed_stalled_recovery.sh rename to Arrs_Stack/arrs_failed_stalled_recovery.sh diff --git a/Media/lidarr_cleanup.sh b/Arrs_Stack/lidarr_cleanup.sh similarity index 100% rename from Media/lidarr_cleanup.sh rename to Arrs_Stack/lidarr_cleanup.sh diff --git a/Media/lidarr_missing_art.sh b/Arrs_Stack/lidarr_missing_art.sh similarity index 100% rename from Media/lidarr_missing_art.sh rename to Arrs_Stack/lidarr_missing_art.sh diff --git a/Media/lidarr_release_fixer.sh b/Arrs_Stack/lidarr_release_fixer.sh similarity index 100% rename from Media/lidarr_release_fixer.sh rename to Arrs_Stack/lidarr_release_fixer.sh diff --git a/Media/playback_aware_lidarr_discovery.sh b/Arrs_Stack/playback_aware_lidarr_discovery.sh similarity index 100% rename from Media/playback_aware_lidarr_discovery.sh rename to Arrs_Stack/playback_aware_lidarr_discovery.sh diff --git a/Media/playback_aware_radarr_discovery.sh b/Arrs_Stack/playback_aware_radarr_discovery.sh similarity index 100% rename from Media/playback_aware_radarr_discovery.sh rename to Arrs_Stack/playback_aware_radarr_discovery.sh diff --git a/Media/playback_aware_sonarr_discovery.sh b/Arrs_Stack/playback_aware_sonarr_discovery.sh similarity index 100% rename from Media/playback_aware_sonarr_discovery.sh rename to Arrs_Stack/playback_aware_sonarr_discovery.sh diff --git a/Media/radarr_cleanup.sh b/Arrs_Stack/radarr_cleanup.sh similarity index 100% rename from Media/radarr_cleanup.sh rename to Arrs_Stack/radarr_cleanup.sh diff --git a/Media/radarr_tmdb_removed.sh b/Arrs_Stack/radarr_tmdb_removed.sh similarity index 100% rename from Media/radarr_tmdb_removed.sh rename to Arrs_Stack/radarr_tmdb_removed.sh diff --git a/Media/sonarr_cleanup.sh b/Arrs_Stack/sonarr_cleanup.sh similarity index 100% rename from Media/sonarr_cleanup.sh rename to Arrs_Stack/sonarr_cleanup.sh diff --git a/Media/sonarr_tvdb_removed.sh b/Arrs_Stack/sonarr_tvdb_removed.sh similarity index 100% rename from Media/sonarr_tvdb_removed.sh rename to Arrs_Stack/sonarr_tvdb_removed.sh diff --git a/Media/start_webhook_listener.sh b/Arrs_Stack/start_webhook_listener.sh similarity index 98% rename from Media/start_webhook_listener.sh rename to Arrs_Stack/start_webhook_listener.sh index a85f37c..fca4e4c 100755 --- a/Media/start_webhook_listener.sh +++ b/Arrs_Stack/start_webhook_listener.sh @@ -108,6 +108,6 @@ fi mkdir -p /var/log/varaverk -exec node "$ECOSYSTEM_ROOT/Media/webhook_listener.js" \ +exec node "$ECOSYSTEM_ROOT/Arrs_Stack/webhook_listener.js" \ "$WEBHOOK_PORT" "$WEBHOOK_SECRET" "$ECOSYSTEM_ROOT" \ >> /var/log/varaverk/upgrade_webhook.log 2>&1 diff --git a/Media/upgrade_webhook_handler.sh b/Arrs_Stack/upgrade_webhook_handler.sh similarity index 100% rename from Media/upgrade_webhook_handler.sh rename to Arrs_Stack/upgrade_webhook_handler.sh diff --git a/Media/webhook_listener.js b/Arrs_Stack/webhook_listener.js similarity index 97% rename from Media/webhook_listener.js rename to Arrs_Stack/webhook_listener.js index a032c53..d4de40a 100644 --- a/Media/webhook_listener.js +++ b/Arrs_Stack/webhook_listener.js @@ -20,7 +20,7 @@ if (!port || !secret || !scriptsDir) { } const LOG_FILE = '/var/log/varaverk/upgrade_webhook.log'; -const HANDLER = path.join(scriptsDir, 'Media', 'upgrade_webhook_handler.sh'); +const HANDLER = path.join(scriptsDir, 'Arrs_Stack', 'upgrade_webhook_handler.sh'); function log(msg) { const ts = new Date().toTimeString().slice(0, 8); diff --git a/Configurations/master.conf b/Configurations/master.conf index 2e97b47..e020d3b 100644 --- a/Configurations/master.conf +++ b/Configurations/master.conf @@ -304,7 +304,7 @@ "System_Essentials/inotify_tuning.sh" # bump inotify limits — containers miss events if exhausted "Docker_Essentials/docker_network_connect.sh" # ensure networks exist + connect containers "Tools/claude_startup.sh" # persist Claude data + binary to appdata; re-symlink on boot - "Media/start_webhook_listener.sh" # arr upgrade webhook listener — continuous + "Arrs_Stack/start_webhook_listener.sh" # arr upgrade webhook listener — continuous "Fallback/fallback.sh" # mutual failover — continuous ) @@ -367,7 +367,7 @@ # INTERMEDIATE_SYNC_SHARES is host-specific — configure HOST*_INTERMEDIATE_SYNC_SHARES in host*.conf. INTERMEDIATE_MAINTENANCE_SCRIPTS=( - "Media/arrs_failed_stalled_recovery.sh" # blocklist + re-search failed/stalled arr queue items + "Arrs_Stack/arrs_failed_stalled_recovery.sh" # blocklist + re-search failed/stalled arr queue items ) # arr_sync.sh runs as a fixed first step in intermediate_sync_maintenance.sh — not listed here. # It is controlled by ARR_SYNC_ENABLED (see Arr Sync section above). @@ -381,13 +381,13 @@ "Media/media_shares_permissions.sh" # apply permissions — runs before cleaners "Media/media_cleaner.sh anime" # remove junk from anime shares "Media/media_cleaner.sh media" # remove junk from media shares - "Media/lidarr_release_fixer.sh" # fix wrong release editions before cleanup runs - "Media/lidarr_cleanup.sh" # remove orphaned music files - "Media/sonarr_cleanup.sh" # remove orphaned TV files - "Media/radarr_cleanup.sh" # remove orphaned movie files - "Media/lidarr_missing_art.sh" # fetch missing album/artist artwork (HOST1 only — self-guards) - "Media/radarr_tmdb_removed.sh" # remove movies dropped from TMDb - "Media/sonarr_tvdb_removed.sh" # remove series dropped from TVDB + "Arrs_Stack/lidarr_release_fixer.sh" # fix wrong release editions before cleanup runs + "Arrs_Stack/lidarr_cleanup.sh" # remove orphaned music files + "Arrs_Stack/sonarr_cleanup.sh" # remove orphaned TV files + "Arrs_Stack/radarr_cleanup.sh" # remove orphaned movie files + "Arrs_Stack/lidarr_missing_art.sh" # fetch missing album/artist artwork (HOST1 only — self-guards) + "Arrs_Stack/radarr_tmdb_removed.sh" # remove movies dropped from TMDb + "Arrs_Stack/sonarr_tvdb_removed.sh" # remove series dropped from TVDB "Docker_Essentials/docker_update.sh" # pull container image updates before restart "Docker_Essentials/docker_daily_restart.sh" # daily container restarts — runs last ) @@ -418,9 +418,9 @@ "Docker_Essentials/docker_update.sh --weekly" # pull latest images for WEEKLY_RESTART_CONTAINERS before restart "Docker_Essentials/docker_weekly_restart.sh" # weekly container restarts after sync "System_Essentials/clear_logs.sh" # purge aged logs — Sunday only, low priority - "Media/playback_aware_lidarr_discovery.sh" # behavior-driven music discovery using weekly Emby playback history - "Media/playback_aware_radarr_discovery.sh" # behavior-driven movie discovery using TMDB recommendations - "Media/playback_aware_sonarr_discovery.sh" # behavior-driven TV discovery using TMDB recommendations + "Arrs_Stack/playback_aware_lidarr_discovery.sh" # behavior-driven music discovery using weekly Emby playback history + "Arrs_Stack/playback_aware_radarr_discovery.sh" # behavior-driven movie discovery using TMDB recommendations + "Arrs_Stack/playback_aware_sonarr_discovery.sh" # behavior-driven TV discovery using TMDB recommendations ) # Pull updates for WEEKLY_RESTART_CONTAINERS before docker_weekly_restart.sh runs. diff --git a/Deployment/master.conf.template b/Deployment/master.conf.template index fa85092..c03cca7 100644 --- a/Deployment/master.conf.template +++ b/Deployment/master.conf.template @@ -300,7 +300,7 @@ "unRAID_Essentials/php_fpm_max_children.sh" # WebGUI performance tuning "unRAID_Essentials/inotify_tuning.sh" # bump inotify limits — containers miss events if exhausted "Docker_Essentials/docker_network_connect.sh" # ensure networks exist + connect containers - "Media/start_webhook_listener.sh" # arr upgrade webhook listener — continuous + "Arrs_Stack/start_webhook_listener.sh" # arr upgrade webhook listener — continuous "Fallback/fallback.sh" # mutual failover — continuous ) @@ -362,7 +362,7 @@ # INTERMEDIATE_SYNC_SHARES is host-specific — configure HOST*_INTERMEDIATE_SYNC_SHARES in host*.conf. INTERMEDIATE_MAINTENANCE_SCRIPTS=( - "Media/arrs_failed_stalled_recovery.sh" # blocklist + re-search failed/stalled arr queue items + "Arrs_Stack/arrs_failed_stalled_recovery.sh" # blocklist + re-search failed/stalled arr queue items ) # arr_sync.sh runs as a fixed first step in intermediate_sync_maintenance.sh — not listed here. # It is controlled by ARR_SYNC_ENABLED (see Arr Sync section above). @@ -376,13 +376,13 @@ "Media/media_shares_permissions.sh" # apply permissions — runs before cleaners "Media/media_cleaner.sh anime" # remove junk from anime shares "Media/media_cleaner.sh media" # remove junk from media shares - #"Media/lidarr_release_fixer.sh" # fix wrong release editions before cleanup runs — enable when ready - #"Media/lidarr_cleanup.sh" # remove orphaned music files — enable when ready - #"Media/sonarr_cleanup.sh" # remove orphaned TV files — enable when ready - "Media/radarr_cleanup.sh" # remove orphaned movie files - "Media/lidarr_missing_art.sh" # fetch missing album/artist artwork (HOST1 only — self-guards) - "Media/radarr_tmdb_removed.sh" # remove movies dropped from TMDb - "Media/sonarr_tvdb_removed.sh" # remove series dropped from TVDB + #"Arrs_Stack/lidarr_release_fixer.sh" # fix wrong release editions before cleanup runs — enable when ready + #"Arrs_Stack/lidarr_cleanup.sh" # remove orphaned music files — enable when ready + #"Arrs_Stack/sonarr_cleanup.sh" # remove orphaned TV files — enable when ready + "Arrs_Stack/radarr_cleanup.sh" # remove orphaned movie files + "Arrs_Stack/lidarr_missing_art.sh" # fetch missing album/artist artwork (HOST1 only — self-guards) + "Arrs_Stack/radarr_tmdb_removed.sh" # remove movies dropped from TMDb + "Arrs_Stack/sonarr_tvdb_removed.sh" # remove series dropped from TVDB "Docker_Essentials/docker_update.sh" # pull container image updates before restart "Docker_Essentials/docker_daily_restart.sh" # daily container restarts — runs last ) @@ -413,9 +413,9 @@ "Docker_Essentials/docker_weekly_restart.sh" # weekly container restarts after sync "Docker_Essentials/docker_update_remaining.sh" # pull updates for all other containers "unRAID_Essentials/clear_logs.sh" # purge aged logs — Sunday only, low priority - "Media/playback_aware_lidarr_discovery.sh" # behavior-driven music discovery using weekly Emby playback history - "Media/playback_aware_radarr_discovery.sh" # behavior-driven movie discovery using TMDB recommendations - "Media/playback_aware_sonarr_discovery.sh" # behavior-driven TV discovery using TMDB recommendations + "Arrs_Stack/playback_aware_lidarr_discovery.sh" # behavior-driven music discovery using weekly Emby playback history + "Arrs_Stack/playback_aware_radarr_discovery.sh" # behavior-driven movie discovery using TMDB recommendations + "Arrs_Stack/playback_aware_sonarr_discovery.sh" # behavior-driven TV discovery using TMDB recommendations ) # Pull updates for WEEKLY_RESTART_CONTAINERS before docker_weekly_restart.sh runs. diff --git a/Kernel/decision_engine.sh b/Kernel/decision_engine.sh index 638db21..396bb20 100755 --- a/Kernel/decision_engine.sh +++ b/Kernel/decision_engine.sh @@ -12,7 +12,7 @@ # Does NOT download media, search indexers, or manage applications. Has no # side effects — no file writes, no API calls, no deletions. # -# Currently paired with: Media/playback_aware_lidarr_discovery.sh +# Currently paired with: Arrs_Stack/playback_aware_lidarr_discovery.sh # # ============================================================================================== # DESIGN PRINCIPLES diff --git a/Media/Manual-Media.md b/Media/Manual-Media.md index 6b4f607..27c0add 100644 --- a/Media/Manual-Media.md +++ b/Media/Manual-Media.md @@ -316,9 +316,9 @@ MEDIA_MAINTENANCE_JOBS=( "Media/media_shares_permissions.sh" # 1. permissions — always first "Media/media_cleaner.sh anime" # 2. junk removal — before orphan scan "Media/media_cleaner.sh media" # 3. - "Media/lidarr_cleanup.sh" # 4. arr cleanup — after permissions + clean - "Media/sonarr_cleanup.sh" # 5. - "Media/radarr_cleanup.sh" # 6. + "Arrs_Stack/lidarr_cleanup.sh" # 4. arr cleanup — after permissions + clean + "Arrs_Stack/sonarr_cleanup.sh" # 5. + "Arrs_Stack/radarr_cleanup.sh" # 6. ) ``` diff --git a/Orchestrators/README-Orchestrators.md b/Orchestrators/README-Orchestrators.md index cb84afb..16ba8b6 100644 --- a/Orchestrators/README-Orchestrators.md +++ b/Orchestrators/README-Orchestrators.md @@ -225,7 +225,7 @@ ARRAY_START_SCRIPTS=( "Tools/claude_startup.sh" # symlink Claude persistent storage on /boot # ── Continuous scripts — run until array stops ───────────────────────────── - "Media/start_webhook_listener.sh" # start webhook listener before arrs POST events + "Arrs_Stack/start_webhook_listener.sh" # start webhook listener before arrs POST events "Fallback/fallback.sh" # fallback LAST — needs everything else stable ) @@ -583,9 +583,9 @@ DAILY_MAINTENANCE_SCRIPTS=( "Media/media_shares_permissions.sh" # POST-SYNC — permissions before arr "Media/media_cleaner.sh anime" # POST-SYNC — junk before orphan scan "Media/media_cleaner.sh media" # POST-SYNC - "Media/lidarr_cleanup.sh" # POST-SYNC — orphan cleanup last - "Media/sonarr_cleanup.sh" # POST-SYNC - "Media/radarr_cleanup.sh" # POST-SYNC + "Arrs_Stack/lidarr_cleanup.sh" # POST-SYNC — orphan cleanup last + "Arrs_Stack/sonarr_cleanup.sh" # POST-SYNC + "Arrs_Stack/radarr_cleanup.sh" # POST-SYNC "Docker_Essentials/docker_daily_restart.sh" # POST-SYNC — restarts after everything ) @@ -625,9 +625,9 @@ DAILY_MAINTENANCE_SCRIPTS=( "Media/media_cleaner.sh anime" "Media/media_cleaner.sh media" "Media/my_new_script.sh" # ← add here in the correct order - "Media/lidarr_cleanup.sh" - "Media/sonarr_cleanup.sh" - "Media/radarr_cleanup.sh" + "Arrs_Stack/lidarr_cleanup.sh" + "Arrs_Stack/sonarr_cleanup.sh" + "Arrs_Stack/radarr_cleanup.sh" "Docker_Essentials/docker_daily_restart.sh" ) @@ -637,7 +637,7 @@ DAILY_MAINTENANCE_SCRIPTS=( "Media/media_shares_permissions.sh" # "Media/media_cleaner.sh anime" # ← temporarily disabled "Media/media_cleaner.sh media" - "Media/lidarr_cleanup.sh" + "Arrs_Stack/lidarr_cleanup.sh" ... ) # ───────────────────────────────────────────────────────────────────────────── diff --git a/Orchestrators/daily_sync_maintenance.sh b/Orchestrators/daily_sync_maintenance.sh index 8897373..0eead69 100755 --- a/Orchestrators/daily_sync_maintenance.sh +++ b/Orchestrators/daily_sync_maintenance.sh @@ -240,7 +240,7 @@ fi echo "" echo "━━━ $ICON_SYNC Arr Sync ━━━" -ARR_SYNC_SCRIPT="$SCRIPTS_ROOT/Media/arr_sync.sh" +ARR_SYNC_SCRIPT="$SCRIPTS_ROOT/Arrs_Stack/arr_sync.sh" if [[ "${ARR_SYNC_ENABLED:-true}" != "true" ]]; then echo "ARR_SYNC_ENABLED=false — skipping" elif [[ ! -f "$ARR_SYNC_SCRIPT" ]]; then diff --git a/Orchestrators/intermediate_sync_maintenance.sh b/Orchestrators/intermediate_sync_maintenance.sh index 406c904..2d71b9b 100755 --- a/Orchestrators/intermediate_sync_maintenance.sh +++ b/Orchestrators/intermediate_sync_maintenance.sh @@ -209,7 +209,7 @@ fi echo "" echo "━━━ $ICON_SYNC Arr Sync ━━━" -ARR_SYNC_SCRIPT="$SCRIPTS_ROOT/Media/arr_sync.sh" +ARR_SYNC_SCRIPT="$SCRIPTS_ROOT/Arrs_Stack/arr_sync.sh" if [[ "${ARR_SYNC_ENABLED:-true}" != "true" ]]; then echo "ARR_SYNC_ENABLED=false — skipping" elif [[ ! -f "$ARR_SYNC_SCRIPT" ]]; then diff --git a/Partnership/partnership_onboard.sh b/Partnership/partnership_onboard.sh index 716f3c9..1cf8955 100755 --- a/Partnership/partnership_onboard.sh +++ b/Partnership/partnership_onboard.sh @@ -667,14 +667,14 @@ if [[ "$ONBOARD_OK" == false ]]; then warn "Skipping — onboard did not complete" elif [[ "$SKIP_ARR_SYNC" == true ]]; then warn "Skipping (--skip-arr-sync)" -elif [[ ! -f "$SCRIPTS_ROOT/Media/arr_sync.sh" ]]; then - warn "arr_sync.sh not found — run Media/arr_sync.sh manually once arrs are live" -elif bash "$SCRIPTS_ROOT/Media/arr_sync.sh" "${EXTRA_FLAGS[@]}"; then +elif [[ ! -f "$SCRIPTS_ROOT/Arrs_Stack/arr_sync.sh" ]]; then + warn "arr_sync.sh not found — run Arrs_Stack/arr_sync.sh manually once arrs are live" +elif bash "$SCRIPTS_ROOT/Arrs_Stack/arr_sync.sh" "${EXTRA_FLAGS[@]}"; then echo "Arr bootstrap complete ✅" ARR_SYNC_OK=true else warn "Arr sync had errors — partnership still valid" - warn "Re-run Media/arr_sync.sh once all arr containers are live" + warn "Re-run Arrs_Stack/arr_sync.sh once all arr containers are live" fi # ── Step 9b: Webhook setup ──────────────────────────────────────────────────────────────────── @@ -742,7 +742,7 @@ fi echo "" echo "━━━ Step 9d — Webhook Listener (Mirror) ━━━" -_listener_script="$SCRIPTS_ROOT/Media/start_webhook_listener.sh" +_listener_script="$SCRIPTS_ROOT/Arrs_Stack/start_webhook_listener.sh" if [[ "$SKIP_WEBHOOK_LISTENER" == true ]]; then warn "Skipping (--skip-webhook-listener)" elif [[ "${WEBHOOK_PORT:-0}" -eq 0 ]]; then diff --git a/Plugin/unraid/user_script_plug-in.sh b/Plugin/unraid/user_script_plug-in.sh index d3b54d3..db60aef 100755 --- a/Plugin/unraid/user_script_plug-in.sh +++ b/Plugin/unraid/user_script_plug-in.sh @@ -903,9 +903,9 @@ # NUCLEAR MODE (use with full understanding): --i-know-what-im-doing --skip-strike-list # Both flags: age check bypassed + size gate bypassed. Deletes everything not tracked. # -# bash /boot/config/plugins/varaverk/Media/lidarr_cleanup.sh --dry-run --log -# bash /boot/config/plugins/varaverk/Media/lidarr_cleanup.sh --status -# bash /boot/config/plugins/varaverk/Media/lidarr_cleanup.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/lidarr_cleanup.sh --dry-run --log +# bash /boot/config/plugins/varaverk/Arrs_Stack/lidarr_cleanup.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/lidarr_cleanup.sh # sonarr_cleanup.sh — delete orphaned TV files not tracked by Sonarr # HOST-AWARE: HOST1 manages Tv_Shows (via HOST1_SONARR_TV_ROOT). @@ -915,9 +915,9 @@ # Protected: *.jpg *.png (episode/show artwork), *.nfo, *.srt *.sub *.ass *.ssa (Bazarr subtitles) # After deletion: notify_emby_scan() clears ghost entries from Emby library immediately. # -# bash /boot/config/plugins/varaverk/Media/sonarr_cleanup.sh --dry-run --log -# bash /boot/config/plugins/varaverk/Media/sonarr_cleanup.sh --status -# bash /boot/config/plugins/varaverk/Media/sonarr_cleanup.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/sonarr_cleanup.sh --dry-run --log +# bash /boot/config/plugins/varaverk/Arrs_Stack/sonarr_cleanup.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/sonarr_cleanup.sh # radarr_cleanup.sh — delete orphaned movie files not tracked by Radarr # HOST-AWARE: HOST1 manages Movies (via HOST1_RADARR_MOVIES_ROOT). @@ -926,9 +926,9 @@ # Protected: *.jpg *.png (movie artwork, fanart, thumbnails), *.nfo, subtitles # After deletion: notify_emby_scan() clears ghost entries from Emby library immediately. # -# bash /boot/config/plugins/varaverk/Media/radarr_cleanup.sh --dry-run --log -# bash /boot/config/plugins/varaverk/Media/radarr_cleanup.sh --status -# bash /boot/config/plugins/varaverk/Media/radarr_cleanup.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/radarr_cleanup.sh --dry-run --log +# bash /boot/config/plugins/varaverk/Arrs_Stack/radarr_cleanup.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/radarr_cleanup.sh # arr_sync.sh — bidirectional arr library sync across all nodes in the ecosystem # Called by intermediate_sync_maintenance.sh every 4 hours. Can be run standalone. @@ -944,48 +944,48 @@ # --blocklist-add does three things: tombstones, deletes local, deletes all remotes via SSH. # Files become orphans on all nodes — arr_cleanup.sh removes them on next run. # -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh --dry-run -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh --status -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh --blocklist-add radarr "reason" -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh --blocklist-add sonarr "reason" -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh --blocklist-add lidarr "reason" -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh --blocklist-remove radarr -# bash /boot/config/plugins/varaverk/Media/arr_sync.sh --blocklist-list +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh --dry-run +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh --blocklist-add radarr "reason" +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh --blocklist-add sonarr "reason" +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh --blocklist-add lidarr "reason" +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh --blocklist-remove radarr +# bash /boot/config/plugins/varaverk/Arrs_Stack/arr_sync.sh --blocklist-list # arrs_failed_stalled_recovery.sh — blocklist + re-search failed/stalled arr imports # Called every 4 hours by intermediate_sync_maintenance.sh via INTERMEDIATE_MAINTENANCE_SCRIPTS. # Finds importFailed / importPending / error / stalled items across all configured arrs. # Age gate: items newer than ARR_IMPORT_RECOVERY_AGE (6hr) are skipped — arr may still self-retry. -# bash /boot/config/plugins/varaverk/Media/arrs_failed_stalled_recovery.sh --dry-run -# bash /boot/config/plugins/varaverk/Media/arrs_failed_stalled_recovery.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/arrs_failed_stalled_recovery.sh --dry-run +# bash /boot/config/plugins/varaverk/Arrs_Stack/arrs_failed_stalled_recovery.sh --status # playback_aware_lidarr_discovery.sh — behavior-driven music discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS) # Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone. # Stage 1: score artists you actually played this week in Emby (play count + recency + user diversity). # Stage 2: run Last.fm artist.getSimilar on top seeds, score recommendations, add top results to Lidarr. # Goal: 0–5 meaningful adds per run. Not bulk import — only artists likely to match your taste. -# bash /boot/config/plugins/varaverk/Media/playback_aware_lidarr_discovery.sh --dry-run -# bash /boot/config/plugins/varaverk/Media/playback_aware_lidarr_discovery.sh --status -# bash /boot/config/plugins/varaverk/Media/playback_aware_lidarr_discovery.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_lidarr_discovery.sh --dry-run +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_lidarr_discovery.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_lidarr_discovery.sh # playback_aware_radarr_discovery.sh — behavior-driven movie discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS) # Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone. # Stage 1: score recently watched movies in Emby, weighted by recency and TMDB rating. # Stage 2: run TMDB recommendations on top seeds, score candidates, add top results to Radarr. # Goal: 0–5 meaningful adds per run. -# bash /boot/config/plugins/varaverk/Media/playback_aware_radarr_discovery.sh --dry-run -# bash /boot/config/plugins/varaverk/Media/playback_aware_radarr_discovery.sh --status -# bash /boot/config/plugins/varaverk/Media/playback_aware_radarr_discovery.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_radarr_discovery.sh --dry-run +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_radarr_discovery.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_radarr_discovery.sh # playback_aware_sonarr_discovery.sh — behavior-driven TV discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS) # Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone. # Stage 1: score recently watched series in Emby (user diversity + recency + per-user-capped episodes). # Stage 2: run TMDB TV recommendations on top seeds, score candidates, add top results to Sonarr. # Goal: 0–3 meaningful adds per run. -# bash /boot/config/plugins/varaverk/Media/playback_aware_sonarr_discovery.sh --dry-run -# bash /boot/config/plugins/varaverk/Media/playback_aware_sonarr_discovery.sh --status -# bash /boot/config/plugins/varaverk/Media/playback_aware_sonarr_discovery.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_sonarr_discovery.sh --dry-run +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_sonarr_discovery.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/playback_aware_sonarr_discovery.sh # lidarr_missing_art.sh — fetch missing album and artist artwork for the Lidarr music library # Called by intermediate_sync_maintenance.sh via INTERMEDIATE_MAINTENANCE_SCRIPTS. @@ -998,9 +998,9 @@ # Artist: folder.jpg fanart.jpg logo.png banner.jpg # Sources: fanart.tv → iTunes (album) / Deezer / Last.fm (artist) fallbacks # -# bash /boot/config/plugins/varaverk/Media/lidarr_missing_art.sh --dry-run --log -# bash /boot/config/plugins/varaverk/Media/lidarr_missing_art.sh --status -# bash /boot/config/plugins/varaverk/Media/lidarr_missing_art.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/lidarr_missing_art.sh --dry-run --log +# bash /boot/config/plugins/varaverk/Arrs_Stack/lidarr_missing_art.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/lidarr_missing_art.sh # radarr_tmdb_removed.sh — remove movies dropped from TMDb (status="deleted") # These generate Radarr system health errors and can never be monitored or downloaded. @@ -1009,20 +1009,20 @@ # Import exclusion added by default — prevents Radarr re-adding the same dropped movie. # HOST1 only — exits cleanly on HOST2. # -# bash /boot/config/plugins/varaverk/Media/radarr_tmdb_removed.sh --dry-run -# bash /boot/config/plugins/varaverk/Media/radarr_tmdb_removed.sh --status -# bash /boot/config/plugins/varaverk/Media/radarr_tmdb_removed.sh -# bash /boot/config/plugins/varaverk/Media/radarr_tmdb_removed.sh --delete-files +# bash /boot/config/plugins/varaverk/Arrs_Stack/radarr_tmdb_removed.sh --dry-run +# bash /boot/config/plugins/varaverk/Arrs_Stack/radarr_tmdb_removed.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/radarr_tmdb_removed.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/radarr_tmdb_removed.sh --delete-files # sonarr_tvdb_removed.sh — remove series dropped from TVDB (status="deleted") # Same pattern as radarr_tmdb_removed: Sonarr health errors, can't be monitored. # Files NOT deleted by default — use --delete-files to also remove from disk. # Import exclusion added by default. HOST1 only. # -# bash /boot/config/plugins/varaverk/Media/sonarr_tvdb_removed.sh --dry-run -# bash /boot/config/plugins/varaverk/Media/sonarr_tvdb_removed.sh --status -# bash /boot/config/plugins/varaverk/Media/sonarr_tvdb_removed.sh -# bash /boot/config/plugins/varaverk/Media/sonarr_tvdb_removed.sh --delete-files +# bash /boot/config/plugins/varaverk/Arrs_Stack/sonarr_tvdb_removed.sh --dry-run +# bash /boot/config/plugins/varaverk/Arrs_Stack/sonarr_tvdb_removed.sh --status +# bash /boot/config/plugins/varaverk/Arrs_Stack/sonarr_tvdb_removed.sh +# bash /boot/config/plugins/varaverk/Arrs_Stack/sonarr_tvdb_removed.sh --delete-files # ────────────────────────────────────────────────────────────────────────────────────────────── diff --git a/README-User_Script_Plug-in.md b/README-User_Script_Plug-in.md index d834b8c..5949964 100644 --- a/README-User_Script_Plug-in.md +++ b/README-User_Script_Plug-in.md @@ -1062,7 +1062,7 @@ Background: YES ```bash #!/bin/bash -/boot/config/plugins/varaverk/Media/lidarr_cleanup.sh --dry-run --log +/boot/config/plugins/varaverk/Arrs_Stack/lidarr_cleanup.sh --dry-run --log ``` **What it does:** @@ -1094,7 +1094,7 @@ Background: YES ```bash #!/bin/bash -/boot/config/plugins/varaverk/Media/sonarr_cleanup.sh --dry-run --log +/boot/config/plugins/varaverk/Arrs_Stack/sonarr_cleanup.sh --dry-run --log ``` **What it does:** @@ -1115,7 +1115,7 @@ Background: YES ```bash #!/bin/bash -/boot/config/plugins/varaverk/Media/radarr_cleanup.sh --dry-run --log +/boot/config/plugins/varaverk/Arrs_Stack/radarr_cleanup.sh --dry-run --log ``` **What it does:** diff --git a/System_Essentials/Manual-System_Essentials.md b/System_Essentials/Manual-System_Essentials.md index 1e2bbb6..52ae892 100644 --- a/System_Essentials/Manual-System_Essentials.md +++ b/System_Essentials/Manual-System_Essentials.md @@ -57,7 +57,7 @@ ARRAY_START_SCRIPTS=( "System_Essentials/inotify_tuning.sh" # before docker_network_connect and continuous scripts "Docker_Essentials/docker_network_connect.sh" # ensure networks + container connections "Tools/claude_startup.sh" # persist Claude data to appdata; re-symlink on boot - "Media/start_webhook_listener.sh" # arr upgrade webhook — continuous + "Arrs_Stack/start_webhook_listener.sh" # arr upgrade webhook — continuous "Fallback/fallback.sh" # mutual failover — continuous )