File the owner's containers on the mirror during onboard, with the icon resolved where the Emby key is
This commit is contained in:
@@ -42,6 +42,8 @@
|
||||
# Step 10: Conf push — push master.conf + setup state to all listed hosts
|
||||
# Step 11: Service discovery — conf_populate.sh on the mirror, last, once the stacks it
|
||||
# would discover are actually deployed there
|
||||
# Step 12: Container grouping — file our containers on the mirror under "<OwnerShort>-Fallback",
|
||||
# icon resolved here and passed over: the mirror has no Emby key
|
||||
#
|
||||
# ==============================================================================================
|
||||
# DESIGN PRINCIPLES
|
||||
@@ -1047,6 +1049,56 @@ else
|
||||
unset _mirror_sd _pop_script
|
||||
fi
|
||||
|
||||
# ── Step 12: Group our containers on the mirror ───────────────────────────────────────────────
|
||||
# The mirror now runs a dozen containers that are ours, scattered among its own. This files them
|
||||
# under one folder named after us — "<OwnerShort>-Fallback" — matching the convention the owner
|
||||
# already keeps for the mirror's containers.
|
||||
#
|
||||
# The icon is resolved HERE and passed over, not looked up there. It comes from the closest Emby
|
||||
# user to our own name, and the mirror has neither our Emby key nor necessarily an Emby at all —
|
||||
# so a lookup on that side would find nothing and the folder would come up blank.
|
||||
#
|
||||
# Not fatal in any direction: folder.view3 absent on the mirror is a clean skip, and a folder
|
||||
# without a picture is still a folder.
|
||||
echo ""
|
||||
echo "━━━ $ICON_GEAR Step 12 — Container Grouping ($MIRROR) ━━━"
|
||||
|
||||
FOLDER_OK=false
|
||||
if [[ -z "${MIRROR_IP:-}" ]]; then
|
||||
warn "$MIRROR has no resolved IP — skipping container grouping"
|
||||
FOLDER_OK=skipped
|
||||
else
|
||||
mapfile -t _deployed < <(deployed_stack_container_names)
|
||||
_deployed_csv=$(IFS=,; echo "${_deployed[*]}")
|
||||
if [[ -z "$_deployed_csv" ]]; then
|
||||
log "No stack templates resolved to container names — nothing to group"
|
||||
FOLDER_OK=skipped
|
||||
elif [[ "$DRY_RUN" == true ]]; then
|
||||
warn "DRY RUN — would create ${MY_ID}-named fallback folder on $MIRROR with: $_deployed_csv"
|
||||
FOLDER_OK=true
|
||||
else
|
||||
_ff_local="$SCRIPTS_ROOT/Plugin/$PLATFORM/Tools/fallback_folder.php"
|
||||
_icon=$(php "$_ff_local" --host="$MY_ID" --icon-only 2>/dev/null || true)
|
||||
[[ -z "$_icon" ]] && log "No icon resolved for $MY_ID — folder will be created without one"
|
||||
|
||||
_mirror_sd=$(resolve_remote_scripts_dir "$MIRROR_IP" "$MIRROR_SSH_KEY" "no")
|
||||
_ff_remote="${_mirror_sd}/Plugin/${PLATFORM}/Tools/fallback_folder.php"
|
||||
if timeout 60 ssh -i "$MIRROR_SSH_KEY" \
|
||||
-o ConnectTimeout="$SSH_TIMEOUT" -o BatchMode=yes -o StrictHostKeyChecking=no \
|
||||
root@"$MIRROR_IP" \
|
||||
"[ -f '$_ff_remote' ] || { echo missing; exit 127; }
|
||||
php '$_ff_remote' --host=$(printf '%q' "$MY_ID") \
|
||||
--containers=$(printf '%q' "$_deployed_csv") \
|
||||
--icon=$(printf '%q' "$_icon")" 2>/dev/null; then
|
||||
FOLDER_OK=true
|
||||
else
|
||||
warn "Could not group containers on $MIRROR — run $_ff_remote there by hand"
|
||||
fi
|
||||
unset _ff_local _ff_remote _mirror_sd _icon
|
||||
fi
|
||||
unset _deployed _deployed_csv
|
||||
fi
|
||||
|
||||
# ── Write Phase 2 completion state ────────────────────────────────────────────────────────────
|
||||
[[ "$ONBOARD_OK" == true && "$DRY_RUN" == false ]] && write_onboard_phase "$MIRROR_ID" 2
|
||||
|
||||
@@ -1080,6 +1132,7 @@ echo " Step 9d — Media seed: $( [[ "$SKIP_MEDIA_SEED" == true ]] && ech
|
||||
echo " Step 9e — Webhook listener: $(_skip "$SKIP_WEBHOOK_LISTENER" "$WEBHOOK_LISTENER_OK")"
|
||||
echo " Step 10 — Conf push: $( [[ "$ONBOARD_OK" == false ]] && echo "skipped" || echo "$(_ok "$MASTER_PUSH_OK")" )"
|
||||
echo " Step 11 — Discovery: $( [[ "$POPULATE_OK" == skipped ]] && echo "skipped (unreachable)" || _ok "$POPULATE_OK" )"
|
||||
echo " Step 12 — Grouping: $( [[ "$FOLDER_OK" == skipped ]] && echo "skipped" || _ok "$FOLDER_OK" )"
|
||||
echo ""
|
||||
|
||||
if [[ "$ONBOARD_OK" == true ]]; then
|
||||
|
||||
Reference in New Issue
Block a user