Move remainder container updates from weekly to monthly

Daily updates daily containers, weekly updates its sync-window containers,
monthly now handles everything else via MONTHLY_MAINTENANCE_SCRIPTS.
This commit is contained in:
Gmer4Lfe
2026-06-14 11:07:18 -04:00
parent bfc3cbe204
commit 55f8842dbd
4 changed files with 1461 additions and 36 deletions
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -93,7 +93,7 @@
# Enable or disable normal mode. docker_daily_restart.sh runs regardless. # Enable or disable normal mode. docker_daily_restart.sh runs regardless.
# (default: true) # (default: true)
# #
# WEEKLY_REMAINING_UPDATES # MONTHLY_REMAINING_UPDATES
# Enable or disable remainder mode. (default: true) # Enable or disable remainder mode. (default: true)
# #
# PROFILE_CRITICAL_CONTAINER_NAMES[emby|critical-data] # PROFILE_CRITICAL_CONTAINER_NAMES[emby|critical-data]
@@ -117,7 +117,7 @@
# docker_update.sh --remainder # docker_update.sh --remainder
# Remainder mode — pull all running containers not in managed lists, # Remainder mode — pull all running containers not in managed lists,
# restart those that received updates, prune dangling images # restart those that received updates, prune dangling images
# Called by weekly_sync_maintenance.sh at the end of the Sunday window # Called by monthly_maintenance.sh
# #
# docker_update.sh --dry-run # docker_update.sh --dry-run
# Preview which containers would be pulled without making changes # Preview which containers would be pulled without making changes
@@ -170,8 +170,8 @@ detect_hosts
# ━━━ Container Discovery ━━━ # ━━━ Container Discovery ━━━
# ============================================================================================== # ==============================================================================================
if [[ "$REMAINDER_MODE" == true ]]; then if [[ "$REMAINDER_MODE" == true ]]; then
if [[ "${WEEKLY_REMAINING_UPDATES:-true}" != "true" ]]; then if [[ "${MONTHLY_REMAINING_UPDATES:-true}" != "true" ]]; then
echo "WEEKLY_REMAINING_UPDATES=false — skipping remainder container updates" echo "MONTHLY_REMAINING_UPDATES=false — skipping remainder container updates"
exit 0 exit 0
fi fi
-26
View File
@@ -14,7 +14,6 @@
# 6. Start remote containers — correct order, delayed start respected # 6. Start remote containers — correct order, delayed start respected
# 7. Start local containers — rebuild if new image pulled, docker start otherwise # 7. Start local containers — rebuild if new image pulled, docker start otherwise
# 8. WEEKLY_MAINTENANCE_SCRIPTS — weekly restarts etc. (docker_weekly_restart.sh) # 8. WEEKLY_MAINTENANCE_SCRIPTS — weekly restarts etc. (docker_weekly_restart.sh)
# 9. docker_update.sh --remainder — update all containers not in daily or weekly sync window
# #
# ── WHY WEEKLY NOT NIGHTLY FOR EMBY ────────────────────────────────────────────────────────── # ── WHY WEEKLY NOT NIGHTLY FOR EMBY ──────────────────────────────────────────────────────────
# Emby builds a warm image cache on HOST2 throughout the week. # Emby builds a warm image cache on HOST2 throughout the week.
@@ -370,31 +369,6 @@ if [[ ${#WEEKLY_MAINTENANCE_SCRIPTS[@]} -gt 0 ]]; then
done done
fi fi
# ==============================================================================================
# ━━━ Remainder Container Updates ━━━
# ==============================================================================================
# Updates all running containers not already covered by daily or the weekly sync window.
# Runs last — weekly sync-window containers are back up before this pulls their peers.
echo ""
echo "━━━ $ICON_CONTAINERS Remainder Container Updates ━━━"
DOCKER_UPDATE_SCRIPT="$SCRIPTS_ROOT/Docker_Essentials/docker_update.sh"
if [[ ! -f "$DOCKER_UPDATE_SCRIPT" ]]; then
warn "docker_update.sh not found — skipping remainder updates"
JOB_FAIL+=("docker_update.sh --remainder")
else
_remainder_args=("--remainder")
[[ "$DRY_RUN" == true ]] && _remainder_args+=("--dry-run")
if bash "$DOCKER_UPDATE_SCRIPT" "${_remainder_args[@]}"; then
echo "Remainder updates complete ✅"
JOB_PASS+=("docker_update.sh --remainder")
else
warn "Remainder updates completed with errors"
JOB_FAIL+=("docker_update.sh --remainder")
fi
unset _remainder_args
fi
WINDOW_END=$(date +%s) WINDOW_END=$(date +%s)
# ============================================================================================== # ==============================================================================================
+5 -6
View File
@@ -71,7 +71,7 @@
# Correct schedules verified against script headers. sunday_morning_coffee_report # Correct schedules verified against script headers. sunday_morning_coffee_report
# and rsync_emby_fallback added as separate scheduled entries. # and rsync_emby_fallback added as separate scheduled entries.
# v2.3 — intermediate_sync_maintenance.sh new 4-hour orchestrator (arr_sync + artwork). # v2.3 — intermediate_sync_maintenance.sh new 4-hour orchestrator (arr_sync + artwork).
# docker_update.sh (normal + --remainder): daily/weekly image pulls. # docker_update.sh (normal + --remainder): daily/monthly image pulls.
# downloaders_reset.sh: slskd + SABnzbd + qBittorrent maintenance. # downloaders_reset.sh: slskd + SABnzbd + qBittorrent maintenance.
# arr_sync.sh: bidirectional Lidarr/Sonarr/Radarr library mesh. # arr_sync.sh: bidirectional Lidarr/Sonarr/Radarr library mesh.
# lidarr_missing_art.sh: fetch missing album/artist artwork. # lidarr_missing_art.sh: fetch missing album/artist artwork.
@@ -330,8 +330,7 @@
# 7. Start remote containers dependency order, new image, verify each container up # 7. Start remote containers dependency order, new image, verify each container up
# 8. Start local containers dependency order, new image, verify each container up # 8. Start local containers dependency order, new image, verify each container up
# 9. docker_weekly_restart.sh restart less-critical services: NextCloud, AdGuard, Immich # 9. docker_weekly_restart.sh restart less-critical services: NextCloud, AdGuard, Immich
# 10. docker_update.sh --remainder pull latest images for all containers not in daily/weekly lists # 10. WEEKLY_MAINTENANCE_SCRIPTS — clear_logs.sh + playback_aware_*.sh discovery scripts.
# 11. WEEKLY_MAINTENANCE_SCRIPTS — clear_logs.sh + playback_aware_*.sh discovery scripts.
# playback_aware_lidarr_discovery.sh: 05 music adds/week # playback_aware_lidarr_discovery.sh: 05 music adds/week
# based on your Emby play history + Last.fm similar artists. # based on your Emby play history + Last.fm similar artists.
# playback_aware_radarr_discovery.sh: 05 movie adds/week # playback_aware_radarr_discovery.sh: 05 movie adds/week
@@ -660,10 +659,10 @@
# Containers stay running during the pull. Rebuilds containers that received a new image. # Containers stay running during the pull. Rebuilds containers that received a new image.
# docker_daily_restart.sh restarts the rest. Toggle: DAILY_CONTAINER_UPDATES in master.conf. # docker_daily_restart.sh restarts the rest. Toggle: DAILY_CONTAINER_UPDATES in master.conf.
# #
# Remainder (weekly) — targets all running containers not in managed lists. # Remainder (monthly) — targets all running containers not in managed lists.
# Excludes daily list, weekly restart list, emby+critical-data sync-window containers, # Excludes daily list, emby+critical-data sync-window containers,
# and fallback containers owned by the remote server's update cycle. # and fallback containers owned by the remote server's update cycle.
# Rebuilds containers that received a new image. Toggle: WEEKLY_REMAINING_UPDATES in master.conf. # Rebuilds containers that received a new image. Toggle: MONTHLY_REMAINING_UPDATES in master.conf.
# #
# bash /boot/config/plugins/varaverk/Docker_Essentials/docker_update.sh --dry-run # bash /boot/config/plugins/varaverk/Docker_Essentials/docker_update.sh --dry-run
# bash /boot/config/plugins/varaverk/Docker_Essentials/docker_update.sh --status # bash /boot/config/plugins/varaverk/Docker_Essentials/docker_update.sh --status