feat(switcher): restart the task processor after a docker-type swap
The task processor reads CFG_DOCKER_INSTALL_TYPE once at startup to decide how runFileOp writes into the task dir (rootless -> as the docker install user, rooted -> as the manager). After a rooted<->rootless swap a running instance keeps the old mode and writes task files wrong. Add restartLibrePortalWebUITaskService and call it at the end of both switch branches so the processor re-sources the new mode. The switch is a CLI one-shot, not a processor task, so the restart won't interrupt it. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
parent
d071696fa4
commit
5f4f4eb96f
@ -75,6 +75,7 @@ dockerSwitcherSwap()
|
|||||||
dockerStartAllApps;
|
dockerStartAllApps;
|
||||||
databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE;
|
databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE;
|
||||||
switchMigrateRestoreApps;
|
switchMigrateRestoreApps;
|
||||||
|
restartLibrePortalWebUITaskService;
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -113,6 +114,7 @@ dockerSwitcherSwap()
|
|||||||
dockerStartAllApps;
|
dockerStartAllApps;
|
||||||
databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE;
|
databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE;
|
||||||
switchMigrateRestoreApps;
|
switchMigrateRestoreApps;
|
||||||
|
restartLibrePortalWebUITaskService;
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
elif [[ $flag == "cli" ]]; then
|
elif [[ $flag == "cli" ]]; then
|
||||||
|
|||||||
@ -72,3 +72,16 @@ EOF
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Restart the task processor after a docker-type switch. The processor reads the
|
||||||
|
# install type (rooted/rootless) ONCE at startup to decide how runFileOp writes
|
||||||
|
# into the docker-install-owned task dir, so a running instance keeps using the
|
||||||
|
# old mode until it's bounced. The switch is a CLI one-shot (not a processor
|
||||||
|
# task), so this won't kill an in-flight switch.
|
||||||
|
restartLibrePortalWebUITaskService()
|
||||||
|
{
|
||||||
|
[[ "$CFG_REQUIREMENT_WEBUI_SERVICE" == "true" ]] || return 0
|
||||||
|
[[ -f /etc/systemd/system/libreportal.service ]] || return 0
|
||||||
|
runSystem systemctl restart libreportal.service 2>/dev/null
|
||||||
|
isSuccessful "Restarted task processor for $CFG_DOCKER_INSTALL_TYPE Docker mode"
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user