librelad 8800f524d4 feat(tools): WebUI/CLI publish tool for getlibreportal + weblibreportal
Surface the publish step through the existing Tools system (apps-tools.json -> Tools
tab + 'libreportal app tool <app> publish'), so the docroot can be (re)built from
the WebUI instead of a manual cd + script.

- webui_tools.sh: declare a 'publish' tool (no inputs) for getlibreportal + weblibreportal.
- scripts/app/containers/getlibreportal/getlibreportal_publish.sh (appGetlibreportalPublish):
  runs the host's publish.sh into the served data dir, as the container user (owns it).
- scripts/app/containers/weblibreportal/weblibreportal_publish.sh (appWeblibreportalPublish):
  builds Eleventy as the manager (owns the install tree), then syncs the result into
  the container-user-owned docroot — handling the build-vs-write owner split.
- Both guard for the build prerequisites (repo source / npm / dist) and fail with a
  clear message; regenerated the sourced-file arrays.

Honest status: scaffolding only — wiring verified (dispatch names match, files sourced,
JSON valid) but the end-to-end tool RUN is untested, and it's build-box-only (needs the
repo checkout + npm + a built dist/). These hosting apps are dev-only and headed for a
separate repo; this just sets the automation up so it's ready to iterate on.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-25 21:02:53 +01:00

80 lines
3.8 KiB
Bash
Executable File

#!/bin/bash
# This file is auto-generated by generate_arrays.sh
# Do not edit manually - run './scripts/source/files/generate_arrays.sh run' to regenerate
app_scripts=(
"app/app_generate.sh"
"app/app_get_key_data.sh"
"app/app_scan_available.sh"
"app/app_status.sh"
"app/app_update_specifics.sh"
"app/auth_adapter.sh"
"app/containers/adguard/adguard_apply_dns_updater.sh"
"app/containers/adguard/adguard_auth.sh"
"app/containers/adguard/adguard_reset_password.sh"
"app/containers/bookstack/bookstack_auth.sh"
"app/containers/bookstack/bookstack_create_account.sh"
"app/containers/bookstack/bookstack_delete_user.sh"
"app/containers/bookstack/bookstack_list_users.sh"
"app/containers/bookstack/bookstack_reset_password.sh"
"app/containers/bookstack/bookstack_set_admin.sh"
"app/containers/crowdsec/crowdsec_alerts_list.sh"
"app/containers/crowdsec/crowdsec_console_disable.sh"
"app/containers/crowdsec/crowdsec_console_enroll.sh"
"app/containers/crowdsec/crowdsec_decisions_list.sh"
"app/containers/crowdsec/crowdsec_fix_priority.sh"
"app/containers/crowdsec/crowdsec_hub_update.sh"
"app/containers/crowdsec/crowdsec_metrics.sh"
"app/containers/crowdsec/crowdsec_status.sh"
"app/containers/crowdsec/crowdsec_unban.sh"
"app/containers/crowdsec/crowdsec_update.sh"
"app/containers/crowdsec/crowdsec_verify_firewall.sh"
"app/containers/dashy/dashy_manage_shortcuts.sh"
"app/containers/dashy/dashy_update_conf.sh"
"app/containers/focalboard/focalboard_auth.sh"
"app/containers/focalboard/focalboard_create_account.sh"
"app/containers/focalboard/focalboard_delete_user.sh"
"app/containers/focalboard/focalboard_list_users.sh"
"app/containers/focalboard/focalboard_reset_password.sh"
"app/containers/focalboard/focalboard_set_admin.sh"
"app/containers/getlibreportal/getlibreportal_publish.sh"
"app/containers/gitea/gitea_auth.sh"
"app/containers/gitea/gitea_create_account.sh"
"app/containers/gitea/gitea_delete_user.sh"
"app/containers/gitea/gitea_list_users.sh"
"app/containers/gitea/gitea_reset_password.sh"
"app/containers/gitea/gitea_set_admin.sh"
"app/containers/gluetun/gluetun_recreate_routed.sh"
"app/containers/gluetun/gluetun_refresh_providers.sh"
"app/containers/invidious/invidious_auth.sh"
"app/containers/invidious/invidious_create_account.sh"
"app/containers/invidious/invidious_delete_user.sh"
"app/containers/invidious/invidious_list_users.sh"
"app/containers/invidious/invidious_reset_password.sh"
"app/containers/invidious/invidious_set_admin.sh"
"app/containers/mattermost/mattermost_auth.sh"
"app/containers/mattermost/mattermost_create_account.sh"
"app/containers/mattermost/mattermost_delete_user.sh"
"app/containers/mattermost/mattermost_list_users.sh"
"app/containers/mattermost/mattermost_reset_password.sh"
"app/containers/mattermost/mattermost_set_admin.sh"
"app/containers/nextcloud/nextcloud_add_trusted_domain.sh"
"app/containers/nextcloud/nextcloud_auth.sh"
"app/containers/nextcloud/nextcloud_create_account.sh"
"app/containers/nextcloud/nextcloud_delete_user.sh"
"app/containers/nextcloud/nextcloud_list_users.sh"
"app/containers/nextcloud/nextcloud_rescan_files.sh"
"app/containers/nextcloud/nextcloud_reset_password.sh"
"app/containers/nextcloud/nextcloud_set_admin.sh"
"app/containers/nextcloud/nextcloud_system_status.sh"
"app/containers/nextcloud/nextcloud_tail_logs.sh"
"app/containers/nextcloud/nextcloud_toggle_maintenance.sh"
"app/containers/owncloud/owncloud_setup_config.sh"
"app/containers/pihole/pihole_apply_dns_updater.sh"
"app/containers/traefik/traefik_auth.sh"
"app/containers/traefik/traefik_reset_password.sh"
"app/containers/weblibreportal/weblibreportal_publish.sh"
)