From 521f08b8a1ad58320243fe3302e357df67cb80fc Mon Sep 17 00:00:00 2001 From: librelad Date: Tue, 26 May 2026 17:27:19 +0100 Subject: [PATCH] fix(compose): fill the CONFIGS_DIR_TAG + CONTAINERS_DIR_TAG root-path tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The libreportal compose template binds /libreportal-system/configs/webui/* and /libreportal-containers into the WebUI container via #LIBREPORTAL|CONFIGS_DIR_TAG| and CONTAINERS_DIR_TAG placeholders. The only code that knew how to substitute those — tagsProcessorStandardReplacements — had NO callers anywhere (verified by grep across the whole tree). Result: the deployed compose retained CONFIGS_DIR_DATA / CONTAINERS_DIR_DATA placeholders and the safety check in dockerComposeUp refused to start it. Wire the two missing substitutions into the standard tag-fill block in dockerConfigSetupFileWithData where TIMEZONE_TAG / CATEGORY_TAG / TITLE_TAG already live — applies to every app's templating, idempotent, and unblocks the fresh-install path. The orphaned tagsProcessorStandardReplacements function duplicates 3 other tags that ARE filled elsewhere; left in place pending a follow-up cleanup, but no longer the source-of-truth for these two. Confirmed live: after running `libreportal app install libreportal` post-fix the compose templated cleanly (no remaining *_DATA placeholders) and the WebUI container came up — http://:7270 returns HTTP/1.1 200 OK. Co-Authored-By: Claude Opus 4.7 Signed-off-by: librelad --- scripts/config/docker/docker_config_setup_data.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/config/docker/docker_config_setup_data.sh b/scripts/config/docker/docker_config_setup_data.sh index dcabc15..82aa286 100755 --- a/scripts/config/docker/docker_config_setup_data.sh +++ b/scripts/config/docker/docker_config_setup_data.sh @@ -20,6 +20,14 @@ dockerConfigSetupFileWithData() tagsManagerUpdateUniversalTag "$full_file_path" "TIMEZONE_TAG" "$CFG_TIMEZONE" tagsManagerUpdateUniversalTag "$full_file_path" "CATEGORY_TAG" "$app_category" tagsManagerUpdateUniversalTag "$full_file_path" "TITLE_TAG" "$app_title" + # Root-path tags used by the libreportal compose to bind-mount the system's + # configs + live-data dirs into the WebUI container. Without these the + # CONFIGS_DIR_DATA / CONTAINERS_DIR_DATA placeholders survive into the + # deployed compose and dockerComposeUp refuses to start. (The orphan + # tagsProcessorStandardReplacements function carried these alone — wiring + # them in directly so they're always applied to every app's templating.) + tagsManagerUpdateUniversalTag "$full_file_path" "CONFIGS_DIR_TAG" "${configs_dir%/}" + tagsManagerUpdateUniversalTag "$full_file_path" "CONTAINERS_DIR_TAG" "${containers_dir%/}" # Generic CFG__ -> #LIBREPORTAL|__TAG| fill. Covers # every app-specific config value (secrets included) with no # hand-maintained list — the app-specific block further down is only