From 670a781927c3b1376843828a88b6a2913ec21793 Mon Sep 17 00:00:00 2001 From: librelad Date: Sun, 24 May 2026 21:29:51 +0100 Subject: [PATCH] fix(install): establish /docker traversal before the WebUI copy installLibrePortalImageWebUI copies the WebUI template into the dockerinstall-owned containers/ dir, but on a fresh install the general traversal/ownership reconcile (fixFolderPermissions -> runOwnership traversal) runs LATER. So at copy time /docker is still 750 (untraversable by the container user) and containers/ may still be manager-owned, and the copy fails ("tar: /docker/containers: Cannot open: Permission denied"), cascading into the WebUI never starting on a first install. Call fixFolderPermissions first so /docker is +x and containers/ is owned by the container user before the copy. Co-Authored-By: Claude Opus 4.7 Signed-off-by: librelad --- scripts/webui/webui_install_image.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/webui/webui_install_image.sh b/scripts/webui/webui_install_image.sh index 5e5bbf6..e7012e4 100755 --- a/scripts/webui/webui_install_image.sh +++ b/scripts/webui/webui_install_image.sh @@ -6,6 +6,13 @@ installLibrePortalImageWebUI() isNotice "Building the LibrePortal WebUI Docker image..." + # The copy below writes into the dockerinstall-owned containers/ dir. On a + # fresh install the general traversal/ownership reconcile runs LATER, so at + # this point /docker is still 750 (untraversable by the container user) and + # containers/ may still be manager-owned — the copy would fail. Establish + # traversal (+x on /docker) and containers/ ownership FIRST. + fixFolderPermissions + local result=$(copyFolder "$install_containers_dir/libreportal" "$containers_dir" "$sudo_user_name") checkSuccess "Copy the LibrePortal to the containers folder"