diff --git a/Fallback/Manual-Fallback.md b/Fallback/Manual-Fallback.md index f9b929e..ed7108c 100644 --- a/Fallback/Manual-Fallback.md +++ b/Fallback/Manual-Fallback.md @@ -193,7 +193,7 @@ FALLBACK_HOST2_COVERS_HOST1_TIER1=( "Gmer4Lfe.com-DDNS" # ALWAYS FIRST — DNS coverage before anything else "Emby" # media server — people are watching "NginxProxyManager" # reverse proxy — all external access routes through this - "Lldap-Gmer4Lfe" # user directory — already warm, verify and keep + "Lldap" # user directory — already warm, verify and keep "Mariadb-Authelia" # auth database — already warm, verify and keep "Redis-Authelia" # auth session cache — already warm, verify and keep "Authelia" # SSO — already warm, serving users already diff --git a/Partnership/Manual-Partnership.md b/Partnership/Manual-Partnership.md index 7612e17..6ad1686 100644 --- a/Partnership/Manual-Partnership.md +++ b/Partnership/Manual-Partnership.md @@ -138,7 +138,7 @@ PARTNERSHIP_ONBOARD_NOTIFY=true # notify both servers on successful onboard # Format: "ContainerName|WebUIPort" HOST1_PARTNERSHIP_AUTH_WEBUIS=( "NginxProxyManager|81" - "Lldap-Gmer4Lfe|17170" + "Lldap|17170" "Authelia|9091" "Authelia-Secondary|9092" ) @@ -154,7 +154,7 @@ HOST1_PARTNERSHIP_AUTH_STACK=( "my-Authelia.xml" "my-Authelia-Secondary.xml" "my-NginxProxyManager.xml" - "my-Lldap-Gmer4Lfe.xml" + "my-Lldap.xml" ) # XML templates pushed to mirror during onboard (arr stack). diff --git a/Plugin/unraid/Partnership/containers.sh b/Plugin/unraid/Partnership/containers.sh index e571b2a..a6d185e 100755 --- a/Plugin/unraid/Partnership/containers.sh +++ b/Plugin/unraid/Partnership/containers.sh @@ -431,6 +431,9 @@ cleanup_deployed_stack_locally() { return 0 fi + local _local_short + _local_short=$(derive_short_name "${LOCAL_SERVER_NAME:-}") + log "Removing owner-deployed containers (auth/arr/services stacks) locally..." for xml_name in "${xml_names[@]}"; do [[ -z "$xml_name" ]] && continue @@ -444,6 +447,11 @@ cleanup_deployed_stack_locally() { cname=$(awk 'match($0,/([^<]+)<\/Name>/,a){print a[1];exit}' "$xml_file") [[ -z "$cname" ]] && continue + if [[ -n "$_local_short" && "$cname" == *"$_local_short"* ]]; then + warn " $cname contains local server identity ($_local_short) — skipping to protect local containers" + continue + fi + if [[ "$DRY_RUN" == true ]]; then warn " DRY RUN — would stop + rm $cname" warn " DRY RUN — would delete appdata for $cname" diff --git a/Plugin/unraid/user_script_plug-in.sh b/Plugin/unraid/user_script_plug-in.sh index 842f6f2..45de12d 100755 --- a/Plugin/unraid/user_script_plug-in.sh +++ b/Plugin/unraid/user_script_plug-in.sh @@ -519,7 +519,7 @@ # Logs each transfer to BANDWIDTH_LOG automatically (read by bandwidth_monitor --report). # # Profile behaviour — what containers stop: -# critical-data Mariadb-Authelia, Redis-Authelia, NginxProxyManager, Lldap-Gmer4Lfe +# critical-data Mariadb-Authelia, Redis-Authelia, NginxProxyManager, Lldap # + delayed restart: Authelia, Authelia-Secondary (30s after dependencies) # important-data Postgres-NextCloud + delayed: NextCloud # arrs_stack Sonarr, Radarr, Lidarr, Prowlarr, Bazarr, Pinchflat diff --git a/README.md b/README.md index d464343..50b6d10 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ break silently. # Emby # the shared Emby — runs on HOST1, picked up by HOST2 on fallback NginxProxyManager # shared NPM — runs on both, same config via sync - Lldap-Gmer4Lfe # shared LLDAP — same user directory, both servers + Lldap # shared LLDAP — same user directory, both servers Authelia # shared auth — both servers, same config Mariadb-Authelia # Authelia's database — same on both Redis-Authelia # Authelia's cache — same on both diff --git a/Rsync/Manual-Rsync.md b/Rsync/Manual-Rsync.md index 27c3fdd..283c52c 100644 --- a/Rsync/Manual-Rsync.md +++ b/Rsync/Manual-Rsync.md @@ -321,7 +321,7 @@ PROFILES["arrs_stack_CRITICAL_CONTAINER_NAMES"]=( # Auth stack — stopped for clean database snapshot, Authelia delayed restart PROFILES["critical-data_CRITICAL_CONTAINER_NAMES"]=( "Mariadb-Authelia" "Redis-Authelia" - "NginxProxyManager" "Lldap-Gmer4Lfe" + "NginxProxyManager" "Lldap" ) PROFILES["critical-data_DELAYED_CONTAINERS"]=( "Authelia" "Authelia-Secondary"