refactor(task): move processor out of crontab/ + launch via stable CLI entry

The task processor is a systemd-service daemon, not a cron job — move it out
of the misleadingly-named scripts/crontab/task/ to scripts/task/.

To stop the systemd unit from baking the processor's in-tree path (the footprint
coupling that forces a reinstall on every reorg), the unit now ExecStarts the
stable wrapper: /usr/local/bin/libreportal __task-processor. start.sh intercepts
that early (after paths.sh, before the heavy load), exports install_scripts_dir,
and exec's the processor with start_script. Future moves/renames need only the
one hand-off updated + a regen — no footprint bump.

- git mv scripts/crontab/task -> scripts/task (filenames kept; cron-watchdog grep
  + function names unchanged)
- libreportal-svc: ExecStart -> stable wrapper launcher
- start.sh: __task-processor internal launcher (export install_scripts_dir; exec)
- crontab_task_processor.sh: fix self-location ../.. -> .. for the new 1-level
  depth (latent bug the move would otherwise have introduced)
- regen files_*/function_manifest; add task_scripts to the app/cli aggregates
- footprint_version 3 -> 4 (root-owned svc unit changed -> needs a root reinstall)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
librelad 2026-05-31 01:52:33 +01:00
parent ce171fddc7
commit 7988778f73
15 changed files with 149 additions and 101 deletions

View File

@ -134,7 +134,7 @@ command_symlink="/usr/local/bin/libreportal"
# `update apply` runs as the manager and CANNOT rewrite root-owned files, so a bump # `update apply` runs as the manager and CANNOT rewrite root-owned files, so a bump
# tells the updater the new release needs a root re-install (which re-bakes them). # tells the updater the new release needs a root re-install (which re-bakes them).
# Recorded at install in $lp_lib_dir/.footprint_version. See docs/contributing/development.md. # Recorded at install in $lp_lib_dir/.footprint_version. See docs/contributing/development.md.
footprint_version=3 footprint_version=4
footprint_marker="$lp_lib_dir/.footprint_version" footprint_marker="$lp_lib_dir/.footprint_version"
# Directories — three independently-relocatable roots (see scripts/source/paths.sh # Directories — three independently-relocatable roots (see scripts/source/paths.sh

View File

@ -23,6 +23,7 @@ files_libreportal_app=(
"${source_scripts[@]}" "${source_scripts[@]}"
"${ssh_scripts[@]}" "${ssh_scripts[@]}"
"${start_scripts[@]}" "${start_scripts[@]}"
"${task_scripts[@]}"
"${update_scripts[@]}" "${update_scripts[@]}"
"${webui_scripts[@]}" "${webui_scripts[@]}"
) )

View File

@ -42,6 +42,8 @@ cli_scripts=(
"cli/commands/system/cli_system_header.sh" "cli/commands/system/cli_system_header.sh"
"cli/commands/update/cli_update_commands.sh" "cli/commands/update/cli_update_commands.sh"
"cli/commands/update/cli_update_header.sh" "cli/commands/update/cli_update_header.sh"
"cli/commands/updater/cli_updater_commands.sh"
"cli/commands/updater/cli_updater_header.sh"
"cli/commands/validation/cli_validation_commands.sh" "cli/commands/validation/cli_validation_commands.sh"
"cli/commands/validation/cli_validation_header.sh" "cli/commands/validation/cli_validation_header.sh"
"cli/commands/verify/cli_verify_commands.sh" "cli/commands/verify/cli_verify_commands.sh"

View File

@ -11,9 +11,5 @@ crontab_scripts=(
"crontab/crontab_refresh.sh" "crontab/crontab_refresh.sh"
"crontab/crontab_setup.sh" "crontab/crontab_setup.sh"
"crontab/system/crontab_setup_system_info_updater.sh" "crontab/system/crontab_setup_system_info_updater.sh"
"crontab/task/crontab_check_processor.sh"
"crontab/task/crontab_setup_check_processor.sh"
"crontab/task/crontab_setup_task_processor.sh"
"crontab/task/crontab_task_processor.sh"
) )

View File

@ -0,0 +1,12 @@
#!/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
task_scripts=(
"task/crontab_check_processor.sh"
"task/crontab_setup_check_processor.sh"
"task/crontab_setup_task_processor.sh"
"task/crontab_task_processor.sh"
)

View File

@ -33,6 +33,7 @@ webui_scripts=(
"webui/data/generators/system/webui_system_memory.sh" "webui/data/generators/system/webui_system_memory.sh"
"webui/data/generators/system/webui_system_metrics.sh" "webui/data/generators/system/webui_system_metrics.sh"
"webui/data/generators/system/webui_system_update.sh" "webui/data/generators/system/webui_system_update.sh"
"webui/data/generators/updater/webui_updater_scan.sh"
"webui/data/lock/webui_check_update_lock.sh" "webui/data/lock/webui_check_update_lock.sh"
"webui/data/lock/webui_create_update_lock.sh" "webui/data/lock/webui_create_update_lock.sh"
"webui/data/lock/webui_remove_setup_lock.sh" "webui/data/lock/webui_remove_setup_lock.sh"

View File

@ -11,7 +11,7 @@
# install_scripts_dir for "scripts" entries, install_containers_dir for # install_scripts_dir for "scripts" entries, install_containers_dir for
# "containers" entries — see LP_FN_ROOT below. # "containers" entries — see LP_FN_ROOT below.
declare -gA LP_FN_MAP=( declare -gA LP_FN_MAP=(
[acquireSingletonLock]="crontab/task/crontab_task_processor.sh" [acquireSingletonLock]="task/crontab_task_processor.sh"
[adguard_install_message_data]="adguard/scripts/adguard_install_hooks.sh" [adguard_install_message_data]="adguard/scripts/adguard_install_hooks.sh"
[adguard_install_post_start]="adguard/scripts/adguard_install_hooks.sh" [adguard_install_post_start]="adguard/scripts/adguard_install_hooks.sh"
[adoptDockerSubnet]="checks/requirements/check_docker_network.sh" [adoptDockerSubnet]="checks/requirements/check_docker_network.sh"
@ -237,13 +237,13 @@ declare -gA LP_FN_MAP=(
[checkSuccess]="function/checks/check_success.sh" [checkSuccess]="function/checks/check_success.sh"
[checkSuggestInstallsRequirement]="checks/requirements/check_suggest_installs.sh" [checkSuggestInstallsRequirement]="checks/requirements/check_suggest_installs.sh"
[checkSwapfileRequirement]="checks/requirements/check_swapfile.sh" [checkSwapfileRequirement]="checks/requirements/check_swapfile.sh"
[check_task_processor_health]="crontab/task/crontab_check_processor.sh" [check_task_processor_health]="task/crontab_check_processor.sh"
[checkTraefikRequirement]="checks/requirements/check_traefik.sh" [checkTraefikRequirement]="checks/requirements/check_traefik.sh"
[checkUFWDRequirement]="checks/requirements/check_ufwd.sh" [checkUFWDRequirement]="checks/requirements/check_ufwd.sh"
[checkUFWRequirement]="checks/requirements/check_ufw.sh" [checkUFWRequirement]="checks/requirements/check_ufw.sh"
[checkUpdates]="update/check_update.sh" [checkUpdates]="update/check_update.sh"
[checkWebUISystemdRequirement]="checks/requirements/check_webui_systemd.sh" [checkWebUISystemdRequirement]="checks/requirements/check_webui_systemd.sh"
[cleanupZeroByteFiles]="crontab/task/crontab_task_processor.sh" [cleanupZeroByteFiles]="task/crontab_task_processor.sh"
[cliAppRestore]="cli/commands/app/cli_app_restore.sh" [cliAppRestore]="cli/commands/app/cli_app_restore.sh"
[cliAppToolList]="cli/commands/app/cli_app_tool_list.sh" [cliAppToolList]="cli/commands/app/cli_app_tool_list.sh"
[cliDebugLoadTrace]="cli/commands/debug/cli_debug_commands.sh" [cliDebugLoadTrace]="cli/commands/debug/cli_debug_commands.sh"
@ -265,6 +265,7 @@ declare -gA LP_FN_MAP=(
[cliHandleSshCommands]="cli/commands/ssh/cli_ssh_commands.sh" [cliHandleSshCommands]="cli/commands/ssh/cli_ssh_commands.sh"
[cliHandleSystemCommands]="cli/commands/system/cli_system_commands.sh" [cliHandleSystemCommands]="cli/commands/system/cli_system_commands.sh"
[cliHandleUpdateCommands]="cli/commands/update/cli_update_commands.sh" [cliHandleUpdateCommands]="cli/commands/update/cli_update_commands.sh"
[cliHandleUpdaterCommands]="cli/commands/updater/cli_updater_commands.sh"
[cliHandleValidationCommands]="cli/commands/validation/cli_validation_commands.sh" [cliHandleValidationCommands]="cli/commands/validation/cli_validation_commands.sh"
[cliHandleVerifyCommands]="cli/commands/verify/cli_verify_commands.sh" [cliHandleVerifyCommands]="cli/commands/verify/cli_verify_commands.sh"
[cliHandleWebuiCommands]="cli/commands/webui/cli_webui_commands.sh" [cliHandleWebuiCommands]="cli/commands/webui/cli_webui_commands.sh"
@ -286,6 +287,7 @@ declare -gA LP_FN_MAP=(
[cliShowSshHelp]="cli/commands/ssh/cli_ssh_header.sh" [cliShowSshHelp]="cli/commands/ssh/cli_ssh_header.sh"
[cliShowSystemHelp]="cli/commands/system/cli_system_header.sh" [cliShowSystemHelp]="cli/commands/system/cli_system_header.sh"
[cliShowUpdateHelp]="cli/commands/update/cli_update_header.sh" [cliShowUpdateHelp]="cli/commands/update/cli_update_header.sh"
[cliShowUpdaterHelp]="cli/commands/updater/cli_updater_header.sh"
[cliShowValidationHelp]="cli/commands/validation/cli_validation_header.sh" [cliShowValidationHelp]="cli/commands/validation/cli_validation_header.sh"
[cliShowVerifyHelp]="cli/commands/verify/cli_verify_header.sh" [cliShowVerifyHelp]="cli/commands/verify/cli_verify_header.sh"
[cliShowWebuiHelp]="cli/commands/webui/cli_webui_header.sh" [cliShowWebuiHelp]="cli/commands/webui/cli_webui_header.sh"
@ -311,9 +313,9 @@ declare -gA LP_FN_MAP=(
[crontabRefresh]="crontab/crontab_refresh.sh" [crontabRefresh]="crontab/crontab_refresh.sh"
[crontabSetup]="crontab/crontab_setup.sh" [crontabSetup]="crontab/crontab_setup.sh"
[crontabSetupBackupScheduler]="crontab/app/crontab_backup_scheduler.sh" [crontabSetupBackupScheduler]="crontab/app/crontab_backup_scheduler.sh"
[crontabSetupCheckProcessor]="crontab/task/crontab_setup_check_processor.sh" [crontabSetupCheckProcessor]="task/crontab_setup_check_processor.sh"
[crontabSetupSystemInfoUpdater]="crontab/system/crontab_setup_system_info_updater.sh" [crontabSetupSystemInfoUpdater]="crontab/system/crontab_setup_system_info_updater.sh"
[crontabSetupTaskProcessor]="crontab/task/crontab_setup_task_processor.sh" [crontabSetupTaskProcessor]="task/crontab_setup_task_processor.sh"
[crontabToolsMenu]="menu/tools/manage_crontab.sh" [crontabToolsMenu]="menu/tools/manage_crontab.sh"
[crowdsecToggleLibrePortalLogMounts]="crowdsec/scripts/crowdsec_install_host.sh" [crowdsecToggleLibrePortalLogMounts]="crowdsec/scripts/crowdsec_install_host.sh"
[dashyToolsMenu]="menu/tools/manage_dashy.sh" [dashyToolsMenu]="menu/tools/manage_dashy.sh"
@ -334,8 +336,8 @@ declare -gA LP_FN_MAP=(
[databaseRestoreInsert]="database/insert/db_insert_restore.sh" [databaseRestoreInsert]="database/insert/db_insert_restore.sh"
[databaseUninstallApp]="database/app/db_uninstall_app.sh" [databaseUninstallApp]="database/app/db_uninstall_app.sh"
[detectOS]="function/checks/detect_os.sh" [detectOS]="function/checks/detect_os.sh"
[dispatchPending]="crontab/task/crontab_task_processor.sh" [dispatchPending]="task/crontab_task_processor.sh"
[dispatchSpecific]="crontab/task/crontab_task_processor.sh" [dispatchSpecific]="task/crontab_task_processor.sh"
[dockerAppRunTool]="docker/app/functions/function_app_tool.sh" [dockerAppRunTool]="docker/app/functions/function_app_tool.sh"
[dockerCheckAppHealthDetails]="docker/checks/app_health_details.sh" [dockerCheckAppHealthDetails]="docker/checks/app_health_details.sh"
[dockerCheckAppHealthStatus]="docker/checks/app_health_status.sh" [dockerCheckAppHealthStatus]="docker/checks/app_health_status.sh"
@ -423,7 +425,7 @@ declare -gA LP_FN_MAP=(
[fixPermissionsBeforeStart]="function/permission/before_start.sh" [fixPermissionsBeforeStart]="function/permission/before_start.sh"
[_focalboardBcrypt]="focalboard/scripts/focalboard_auth.sh" [_focalboardBcrypt]="focalboard/scripts/focalboard_auth.sh"
[_focalboardSqlite]="focalboard/scripts/focalboard_auth.sh" [_focalboardSqlite]="focalboard/scripts/focalboard_auth.sh"
[generateHealthReport]="crontab/task/crontab_check_processor.sh" [generateHealthReport]="task/crontab_check_processor.sh"
[generateInstallName]="checks/generate_install_name.sh" [generateInstallName]="checks/generate_install_name.sh"
[generateRandomPassword]="config/password/password_generate.sh" [generateRandomPassword]="config/password/password_generate.sh"
[generateRandomUsername]="config/password/password_user_generator.sh" [generateRandomUsername]="config/password/password_user_generator.sh"
@ -450,10 +452,10 @@ declare -gA LP_FN_MAP=(
[headscaleCommands]="headscale/scripts/headscale_commands.sh" [headscaleCommands]="headscale/scripts/headscale_commands.sh"
[headscaleEditConfig]="headscale/scripts/headscale_edit_config.sh" [headscaleEditConfig]="headscale/scripts/headscale_edit_config.sh"
[headscale_install_post_compose]="headscale/scripts/headscale_install_hooks.sh" [headscale_install_post_compose]="headscale/scripts/headscale_install_hooks.sh"
[healthLogError]="crontab/task/crontab_check_processor.sh" [healthLogError]="task/crontab_check_processor.sh"
[healthLogInfo]="crontab/task/crontab_check_processor.sh" [healthLogInfo]="task/crontab_check_processor.sh"
[healthLogSuccess]="crontab/task/crontab_check_processor.sh" [healthLogSuccess]="task/crontab_check_processor.sh"
[healthLogWarning]="crontab/task/crontab_check_processor.sh" [healthLogWarning]="task/crontab_check_processor.sh"
[hostAppInstall]="install/host_app.sh" [hostAppInstall]="install/host_app.sh"
[hostSshAuthKeysFile]="ssh/host_access.sh" [hostSshAuthKeysFile]="ssh/host_access.sh"
[hostSshEnsureDir]="ssh/host_access.sh" [hostSshEnsureDir]="ssh/host_access.sh"
@ -548,9 +550,9 @@ declare -gA LP_FN_MAP=(
[localDnsServerIp]="network/dns/setup_local_dns.sh" [localDnsServerIp]="network/dns/setup_local_dns.sh"
[locationAdd]="backup/locations/location_add.sh" [locationAdd]="backup/locations/location_add.sh"
[locationRemove]="backup/locations/location_remove.sh" [locationRemove]="backup/locations/location_remove.sh"
[logDebug]="crontab/task/crontab_task_processor.sh" [logDebug]="task/crontab_task_processor.sh"
[logError]="crontab/task/crontab_task_processor.sh" [logError]="task/crontab_task_processor.sh"
[logInfo]="crontab/task/crontab_task_processor.sh" [logInfo]="task/crontab_task_processor.sh"
[_lpDownload]="source/fetch.sh" [_lpDownload]="source/fetch.sh"
[lpFetchRelease]="source/fetch.sh" [lpFetchRelease]="source/fetch.sh"
[lpFetchSource]="source/fetch.sh" [lpFetchSource]="source/fetch.sh"
@ -570,7 +572,7 @@ declare -gA LP_FN_MAP=(
[lpVerifyInstall]="source/verify.sh" [lpVerifyInstall]="source/verify.sh"
[lpVerifyPubKeyPath]="source/verify.sh" [lpVerifyPubKeyPath]="source/verify.sh"
[lpVersionGt]="source/fetch.sh" [lpVersionGt]="source/fetch.sh"
[mainLoop]="crontab/task/crontab_task_processor.sh" [mainLoop]="task/crontab_task_processor.sh"
[mainMenu]="menu/menu_main.sh" [mainMenu]="menu/menu_main.sh"
[manifestCollect]="backup/manifest/manifest_collect.sh" [manifestCollect]="backup/manifest/manifest_collect.sh"
[manifestReadField]="backup/manifest/manifest_read.sh" [manifestReadField]="backup/manifest/manifest_read.sh"
@ -578,7 +580,7 @@ declare -gA LP_FN_MAP=(
[manifestRemove]="backup/manifest/manifest_write.sh" [manifestRemove]="backup/manifest/manifest_write.sh"
[manifestWrite]="backup/manifest/manifest_write.sh" [manifestWrite]="backup/manifest/manifest_write.sh"
[mattermostToolsMenu]="menu/tools/manage_mattermost.sh" [mattermostToolsMenu]="menu/tools/manage_mattermost.sh"
[maybeRegenPoll]="crontab/task/crontab_task_processor.sh" [maybeRegenPoll]="task/crontab_task_processor.sh"
[menuContinue]="menu/message/continue.sh" [menuContinue]="menu/message/continue.sh"
[menuLoginRequired]="menu/message/login.sh" [menuLoginRequired]="menu/message/login.sh"
[menuShowFinalMessages]="menu/message/final.sh" [menuShowFinalMessages]="menu/message/final.sh"
@ -614,7 +616,7 @@ declare -gA LP_FN_MAP=(
[_nextcloudOcc]="nextcloud/scripts/nextcloud_auth.sh" [_nextcloudOcc]="nextcloud/scripts/nextcloud_auth.sh"
[_nextcloudOccWithPass]="nextcloud/scripts/nextcloud_auth.sh" [_nextcloudOccWithPass]="nextcloud/scripts/nextcloud_auth.sh"
[onlyoffice_install_message_data]="onlyoffice/scripts/onlyoffice_install_hooks.sh" [onlyoffice_install_message_data]="onlyoffice/scripts/onlyoffice_install_hooks.sh"
[openFifoReader]="crontab/task/crontab_task_processor.sh" [openFifoReader]="task/crontab_task_processor.sh"
[owncloud_install_post_compose]="owncloud/scripts/owncloud_install_hooks.sh" [owncloud_install_post_compose]="owncloud/scripts/owncloud_install_hooks.sh"
[passwordValidation]="function/validation/password.sh" [passwordValidation]="function/validation/password.sh"
[peerAdd]="peer/peer_add.sh" [peerAdd]="peer/peer_add.sh"
@ -649,7 +651,7 @@ declare -gA LP_FN_MAP=(
[_peerSshTarget]="peer/peer_remote.sh" [_peerSshTarget]="peer/peer_remote.sh"
[peerValidateKind]="peer/peer_helpers.sh" [peerValidateKind]="peer/peer_helpers.sh"
[peerValidateName]="peer/peer_helpers.sh" [peerValidateName]="peer/peer_helpers.sh"
[performMaintenance]="crontab/task/crontab_check_processor.sh" [performMaintenance]="task/crontab_check_processor.sh"
[portAllocate]="network/ports/allocation/port_allocate.sh" [portAllocate]="network/ports/allocation/port_allocate.sh"
[portFindNextAvailablePort]="network/ports/core/port_find_next_available.sh" [portFindNextAvailablePort]="network/ports/core/port_find_next_available.sh"
[portGetPublicPorts]="network/ports/core/port_get_public_ports.sh" [portGetPublicPorts]="network/ports/core/port_get_public_ports.sh"
@ -668,22 +670,22 @@ declare -gA LP_FN_MAP=(
[processBcryptPassword]="config/password/bcrypt/password_process_bcrypt.sh" [processBcryptPassword]="config/password/bcrypt/password_process_bcrypt.sh"
[prometheus_install_post_compose]="prometheus/scripts/prometheus_install_hooks.sh" [prometheus_install_post_compose]="prometheus/scripts/prometheus_install_hooks.sh"
[prometheus_install_post_start]="prometheus/scripts/prometheus_install_hooks.sh" [prometheus_install_post_start]="prometheus/scripts/prometheus_install_hooks.sh"
[readTaskField]="crontab/task/crontab_task_processor.sh" [readTaskField]="task/crontab_task_processor.sh"
[reclaimDockerSpace]="cli/commands/system/cli_system_commands.sh" [reclaimDockerSpace]="cli/commands/system/cli_system_commands.sh"
[reconcileConfigFile]="config/core/variables/config_scan_variables.sh" [reconcileConfigFile]="config/core/variables/config_scan_variables.sh"
[reconcileContainersTopOwnership]="function/permission/libreportal_folders.sh" [reconcileContainersTopOwnership]="function/permission/libreportal_folders.sh"
[reconcileDockerOwnership]="function/permission/libreportal_folders.sh" [reconcileDockerOwnership]="function/permission/libreportal_folders.sh"
[_reconcileSplitValueComment]="config/core/variables/config_scan_variables.sh" [_reconcileSplitValueComment]="config/core/variables/config_scan_variables.sh"
[reconcileWebuiDirOwnership]="function/permission/libreportal_folders.sh" [reconcileWebuiDirOwnership]="function/permission/libreportal_folders.sh"
[recoverOrphans]="crontab/task/crontab_task_processor.sh" [recoverOrphans]="task/crontab_task_processor.sh"
[removeDockerImages]="cli/commands/system/cli_system_commands.sh" [removeDockerImages]="cli/commands/system/cli_system_commands.sh"
[removeEmptyLineAtFileEnd]="function/file/empty_line/remove_line.sh" [removeEmptyLineAtFileEnd]="function/file/empty_line/remove_line.sh"
[repairDirectoryStructure]="crontab/task/crontab_check_processor.sh" [repairDirectoryStructure]="task/crontab_check_processor.sh"
[repairFileSystem]="crontab/task/crontab_check_processor.sh" [repairFileSystem]="task/crontab_check_processor.sh"
[repairPermissions]="crontab/task/crontab_check_processor.sh" [repairPermissions]="task/crontab_check_processor.sh"
[repairSystemIssues]="crontab/task/crontab_check_processor.sh" [repairSystemIssues]="task/crontab_check_processor.sh"
[repairSystemService]="crontab/task/crontab_check_processor.sh" [repairSystemService]="task/crontab_check_processor.sh"
[repairTaskSystem]="crontab/task/crontab_check_processor.sh" [repairTaskSystem]="task/crontab_check_processor.sh"
[replaceBcryptPasswords]="config/password/bcrypt/password_replace_bcrypt.sh" [replaceBcryptPasswords]="config/password/bcrypt/password_replace_bcrypt.sh"
[replaceHexKeys]="config/password/password_replace hex.sh" [replaceHexKeys]="config/password/password_replace hex.sh"
[replaceLaravelAppKeys]="config/password/password_replace_appkey.sh" [replaceLaravelAppKeys]="config/password/password_replace_appkey.sh"
@ -753,8 +755,8 @@ declare -gA LP_FN_MAP=(
[runSshAccess]="docker/command/run_privileged.sh" [runSshAccess]="docker/command/run_privileged.sh"
[runSvc]="docker/command/run_privileged.sh" [runSvc]="docker/command/run_privileged.sh"
[runSystem]="docker/command/run_privileged.sh" [runSystem]="docker/command/run_privileged.sh"
[runTask]="crontab/task/crontab_task_processor.sh" [runTask]="task/crontab_task_processor.sh"
[run_task_processor]="crontab/task/crontab_task_processor.sh" [run_task_processor]="task/crontab_task_processor.sh"
[scanConfigsForRandomPassword]="config/password/password_update_all.sh" [scanConfigsForRandomPassword]="config/password/password_update_all.sh"
[scanFileForRandomPasswordKeysUsers]="config/password/password_scan_file.sh" [scanFileForRandomPasswordKeysUsers]="config/password/password_scan_file.sh"
[searxng_install_post_start]="searxng/scripts/searxng_install_hooks.sh" [searxng_install_post_start]="searxng/scripts/searxng_install_hooks.sh"
@ -775,7 +777,7 @@ declare -gA LP_FN_MAP=(
[setupHeadscaleUser]="headscale/scripts/headscale_user.sh" [setupHeadscaleUser]="headscale/scripts/headscale_user.sh"
[setupHeadscaleVariables]="network/variables/headscale_variables.sh" [setupHeadscaleVariables]="network/variables/headscale_variables.sh"
[setupLocalDnsRewrites]="network/dns/setup_local_dns.sh" [setupLocalDnsRewrites]="network/dns/setup_local_dns.sh"
[setupTaskDir]="crontab/task/crontab_task_processor.sh" [setupTaskDir]="task/crontab_task_processor.sh"
[setupWizardMarkComplete]="setup/setup_lock.sh" [setupWizardMarkComplete]="setup/setup_lock.sh"
[setupWizardReset]="setup/setup_lock.sh" [setupWizardReset]="setup/setup_lock.sh"
[setupWizardTerminal]="checks/first_install.sh" [setupWizardTerminal]="checks/first_install.sh"
@ -827,20 +829,25 @@ declare -gA LP_FN_MAP=(
[updateDockerSudoPassword]="docker/update_docker_sudo_pass.sh" [updateDockerSudoPassword]="docker/update_docker_sudo_pass.sh"
[updateFileOwnership]="function/permission/ownership/file.sh" [updateFileOwnership]="function/permission/ownership/file.sh"
[updateHostIPToWhitelist]="config/utils/update_whitelist.sh" [updateHostIPToWhitelist]="config/utils/update_whitelist.sh"
[updateTaskFields]="crontab/task/crontab_task_processor.sh" [updaterApplyAll]="cli/commands/updater/cli_updater_commands.sh"
[updaterApplyApp]="cli/commands/updater/cli_updater_commands.sh"
[updaterComposePull]="cli/commands/updater/cli_updater_commands.sh"
[updaterRecordHistory]="cli/commands/updater/cli_updater_commands.sh"
[updaterRollbackApp]="cli/commands/updater/cli_updater_commands.sh"
[updateTaskFields]="task/crontab_task_processor.sh"
[userExists]="function/checks/user_exists.sh" [userExists]="function/checks/user_exists.sh"
[validateContainerHealth]="crontab/task/crontab_check_processor.sh" [validateContainerHealth]="task/crontab_check_processor.sh"
[validateDirectoryStructure]="crontab/task/crontab_check_processor.sh" [validateDirectoryStructure]="task/crontab_check_processor.sh"
[validateDiskSpace]="crontab/task/crontab_check_processor.sh" [validateDiskSpace]="task/crontab_check_processor.sh"
[validateDockerService]="crontab/task/crontab_check_processor.sh" [validateDockerService]="task/crontab_check_processor.sh"
[validateFileSystem]="crontab/task/crontab_check_processor.sh" [validateFileSystem]="task/crontab_check_processor.sh"
[validateLibrePortalInstallation]="crontab/task/crontab_check_processor.sh" [validateLibrePortalInstallation]="task/crontab_check_processor.sh"
[validateLogHealth]="crontab/task/crontab_check_processor.sh" [validateLogHealth]="task/crontab_check_processor.sh"
[validatePermissions]="crontab/task/crontab_check_processor.sh" [validatePermissions]="task/crontab_check_processor.sh"
[validateSystemHealth]="crontab/task/crontab_check_processor.sh" [validateSystemHealth]="task/crontab_check_processor.sh"
[validateSystemService]="crontab/task/crontab_check_processor.sh" [validateSystemService]="task/crontab_check_processor.sh"
[validateTaskSystem]="crontab/task/crontab_check_processor.sh" [validateTaskSystem]="task/crontab_check_processor.sh"
[validateWebUIReadiness]="crontab/task/crontab_check_processor.sh" [validateWebUIReadiness]="task/crontab_check_processor.sh"
[viewAppCategoryConfigs]="config/application/application_menu_category.sh" [viewAppCategoryConfigs]="config/application/application_menu_category.sh"
[viewAppConfigs]="config/application/application_menu_apps.sh" [viewAppConfigs]="config/application/application_menu_apps.sh"
[viewComposeFiles]="config/docker/docker_compose_menu.sh" [viewComposeFiles]="config/docker/docker_compose_menu.sh"
@ -895,13 +902,14 @@ declare -gA LP_FN_MAP=(
[webuiSystemVerify]="webui/data/generators/system/webui_system_update.sh" [webuiSystemVerify]="webui/data/generators/system/webui_system_update.sh"
[webuiUpdateAppLog]="webui/data/utils/webui_app_log.sh" [webuiUpdateAppLog]="webui/data/utils/webui_app_log.sh"
[webuiUpdateAppStatus]="webui/data/generators/apps/webui_app_status.sh" [webuiUpdateAppStatus]="webui/data/generators/apps/webui_app_status.sh"
[webuiUpdaterScan]="webui/data/generators/updater/webui_updater_scan.sh"
[webuiUpdateSystemConfig]="webui/data/generators/config/webui_update_config.sh" [webuiUpdateSystemConfig]="webui/data/generators/config/webui_update_config.sh"
[webuiValidateConfigValue]="webui/data/generators/config/webui_update_config.sh" [webuiValidateConfigValue]="webui/data/generators/config/webui_update_config.sh"
[whitelistPortUpdater]="docker/whitelist_port_updater.sh" [whitelistPortUpdater]="docker/whitelist_port_updater.sh"
[wireguard_install_post_compose]="wireguard/scripts/wireguard_install_hooks.sh" [wireguard_install_post_compose]="wireguard/scripts/wireguard_install_hooks.sh"
[wireguard_install_post_start]="wireguard/scripts/wireguard_install_hooks.sh" [wireguard_install_post_start]="wireguard/scripts/wireguard_install_hooks.sh"
[wireguard_install_pre]="wireguard/scripts/wireguard_install_hooks.sh" [wireguard_install_pre]="wireguard/scripts/wireguard_install_hooks.sh"
[writeAtomic]="crontab/task/crontab_task_processor.sh" [writeAtomic]="task/crontab_task_processor.sh"
[_writeTaskFile]="cli/task/cli_task_run.sh" [_writeTaskFile]="cli/task/cli_task_run.sh"
[zipFile]="function/file/zip_file.sh" [zipFile]="function/file/zip_file.sh"
) )
@ -1163,6 +1171,7 @@ declare -gA LP_FN_ROOT=(
[cliHandleSshCommands]="scripts" [cliHandleSshCommands]="scripts"
[cliHandleSystemCommands]="scripts" [cliHandleSystemCommands]="scripts"
[cliHandleUpdateCommands]="scripts" [cliHandleUpdateCommands]="scripts"
[cliHandleUpdaterCommands]="scripts"
[cliHandleValidationCommands]="scripts" [cliHandleValidationCommands]="scripts"
[cliHandleVerifyCommands]="scripts" [cliHandleVerifyCommands]="scripts"
[cliHandleWebuiCommands]="scripts" [cliHandleWebuiCommands]="scripts"
@ -1184,6 +1193,7 @@ declare -gA LP_FN_ROOT=(
[cliShowSshHelp]="scripts" [cliShowSshHelp]="scripts"
[cliShowSystemHelp]="scripts" [cliShowSystemHelp]="scripts"
[cliShowUpdateHelp]="scripts" [cliShowUpdateHelp]="scripts"
[cliShowUpdaterHelp]="scripts"
[cliShowValidationHelp]="scripts" [cliShowValidationHelp]="scripts"
[cliShowVerifyHelp]="scripts" [cliShowVerifyHelp]="scripts"
[cliShowWebuiHelp]="scripts" [cliShowWebuiHelp]="scripts"
@ -1725,6 +1735,11 @@ declare -gA LP_FN_ROOT=(
[updateDockerSudoPassword]="scripts" [updateDockerSudoPassword]="scripts"
[updateFileOwnership]="scripts" [updateFileOwnership]="scripts"
[updateHostIPToWhitelist]="scripts" [updateHostIPToWhitelist]="scripts"
[updaterApplyAll]="scripts"
[updaterApplyApp]="scripts"
[updaterComposePull]="scripts"
[updaterRecordHistory]="scripts"
[updaterRollbackApp]="scripts"
[updateTaskFields]="scripts" [updateTaskFields]="scripts"
[userExists]="scripts" [userExists]="scripts"
[validateContainerHealth]="scripts" [validateContainerHealth]="scripts"
@ -1793,6 +1808,7 @@ declare -gA LP_FN_ROOT=(
[webuiSystemVerify]="scripts" [webuiSystemVerify]="scripts"
[webuiUpdateAppLog]="scripts" [webuiUpdateAppLog]="scripts"
[webuiUpdateAppStatus]="scripts" [webuiUpdateAppStatus]="scripts"
[webuiUpdaterScan]="scripts"
[webuiUpdateSystemConfig]="scripts" [webuiUpdateSystemConfig]="scripts"
[webuiValidateConfigValue]="scripts" [webuiValidateConfigValue]="scripts"
[whitelistPortUpdater]="scripts" [whitelistPortUpdater]="scripts"
@ -1812,12 +1828,12 @@ declare -gA LP_FN_ROOT=(
LP_EAGER_FILES=( LP_EAGER_FILES=(
"scripts:backup/db/backup_db.sh" "scripts:backup/db/backup_db.sh"
"scripts:backup/files/backup_files.sh" "scripts:backup/files/backup_files.sh"
"scripts:crontab/task/crontab_check_processor.sh"
"scripts:crontab/task/crontab_task_processor.sh"
"scripts:docker/install/rootless/rootless_apparmor.sh" "scripts:docker/install/rootless/rootless_apparmor.sh"
"scripts:docker/type_switcher/swap_docker_type.sh" "scripts:docker/type_switcher/swap_docker_type.sh"
"scripts:migrate/migrate_url_rewrite.sh" "scripts:migrate/migrate_url_rewrite.sh"
"scripts:setup/setup_lock.sh" "scripts:setup/setup_lock.sh"
"scripts:task/crontab_check_processor.sh"
"scripts:task/crontab_task_processor.sh"
"scripts:webui/data/generators/apps/webui_config.sh" "scripts:webui/data/generators/apps/webui_config.sh"
"scripts:webui/data/generators/apps/webui_services.sh" "scripts:webui/data/generators/apps/webui_services.sh"
"scripts:webui/data/generators/categories/webui_create_app_field_mappings.sh" "scripts:webui/data/generators/categories/webui_create_app_field_mappings.sh"
@ -1827,7 +1843,7 @@ LP_EAGER_FILES=(
# real file (which redefines this stub with the real body), then # real file (which redefines this stub with the real body), then
# re-invokes. Sourced inline instead of eval-in-loop because bash # re-invokes. Sourced inline instead of eval-in-loop because bash
# parses one large file faster than it evals snippets at startup. # parses one large file faster than it evals snippets at startup.
acquireSingletonLock() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; acquireSingletonLock "$@"; } acquireSingletonLock() { source "${install_scripts_dir}task/crontab_task_processor.sh"; acquireSingletonLock "$@"; }
adguard_install_message_data() { source "${install_containers_dir}adguard/scripts/adguard_install_hooks.sh"; adguard_install_message_data "$@"; } adguard_install_message_data() { source "${install_containers_dir}adguard/scripts/adguard_install_hooks.sh"; adguard_install_message_data "$@"; }
adguard_install_post_start() { source "${install_containers_dir}adguard/scripts/adguard_install_hooks.sh"; adguard_install_post_start "$@"; } adguard_install_post_start() { source "${install_containers_dir}adguard/scripts/adguard_install_hooks.sh"; adguard_install_post_start "$@"; }
adoptDockerSubnet() { source "${install_scripts_dir}checks/requirements/check_docker_network.sh"; adoptDockerSubnet "$@"; } adoptDockerSubnet() { source "${install_scripts_dir}checks/requirements/check_docker_network.sh"; adoptDockerSubnet "$@"; }
@ -2053,13 +2069,13 @@ checkSSLCertsRequirement() { source "${install_scripts_dir}checks/requirements/c
checkSuccess() { source "${install_scripts_dir}function/checks/check_success.sh"; checkSuccess "$@"; } checkSuccess() { source "${install_scripts_dir}function/checks/check_success.sh"; checkSuccess "$@"; }
checkSuggestInstallsRequirement() { source "${install_scripts_dir}checks/requirements/check_suggest_installs.sh"; checkSuggestInstallsRequirement "$@"; } checkSuggestInstallsRequirement() { source "${install_scripts_dir}checks/requirements/check_suggest_installs.sh"; checkSuggestInstallsRequirement "$@"; }
checkSwapfileRequirement() { source "${install_scripts_dir}checks/requirements/check_swapfile.sh"; checkSwapfileRequirement "$@"; } checkSwapfileRequirement() { source "${install_scripts_dir}checks/requirements/check_swapfile.sh"; checkSwapfileRequirement "$@"; }
check_task_processor_health() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; check_task_processor_health "$@"; } check_task_processor_health() { source "${install_scripts_dir}task/crontab_check_processor.sh"; check_task_processor_health "$@"; }
checkTraefikRequirement() { source "${install_scripts_dir}checks/requirements/check_traefik.sh"; checkTraefikRequirement "$@"; } checkTraefikRequirement() { source "${install_scripts_dir}checks/requirements/check_traefik.sh"; checkTraefikRequirement "$@"; }
checkUFWDRequirement() { source "${install_scripts_dir}checks/requirements/check_ufwd.sh"; checkUFWDRequirement "$@"; } checkUFWDRequirement() { source "${install_scripts_dir}checks/requirements/check_ufwd.sh"; checkUFWDRequirement "$@"; }
checkUFWRequirement() { source "${install_scripts_dir}checks/requirements/check_ufw.sh"; checkUFWRequirement "$@"; } checkUFWRequirement() { source "${install_scripts_dir}checks/requirements/check_ufw.sh"; checkUFWRequirement "$@"; }
checkUpdates() { source "${install_scripts_dir}update/check_update.sh"; checkUpdates "$@"; } checkUpdates() { source "${install_scripts_dir}update/check_update.sh"; checkUpdates "$@"; }
checkWebUISystemdRequirement() { source "${install_scripts_dir}checks/requirements/check_webui_systemd.sh"; checkWebUISystemdRequirement "$@"; } checkWebUISystemdRequirement() { source "${install_scripts_dir}checks/requirements/check_webui_systemd.sh"; checkWebUISystemdRequirement "$@"; }
cleanupZeroByteFiles() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; cleanupZeroByteFiles "$@"; } cleanupZeroByteFiles() { source "${install_scripts_dir}task/crontab_task_processor.sh"; cleanupZeroByteFiles "$@"; }
cliAppRestore() { source "${install_scripts_dir}cli/commands/app/cli_app_restore.sh"; cliAppRestore "$@"; } cliAppRestore() { source "${install_scripts_dir}cli/commands/app/cli_app_restore.sh"; cliAppRestore "$@"; }
cliAppToolList() { source "${install_scripts_dir}cli/commands/app/cli_app_tool_list.sh"; cliAppToolList "$@"; } cliAppToolList() { source "${install_scripts_dir}cli/commands/app/cli_app_tool_list.sh"; cliAppToolList "$@"; }
cliDebugLoadTrace() { source "${install_scripts_dir}cli/commands/debug/cli_debug_commands.sh"; cliDebugLoadTrace "$@"; } cliDebugLoadTrace() { source "${install_scripts_dir}cli/commands/debug/cli_debug_commands.sh"; cliDebugLoadTrace "$@"; }
@ -2081,6 +2097,7 @@ cliHandleSetupCommands() { source "${install_scripts_dir}cli/commands/setup/cli_
cliHandleSshCommands() { source "${install_scripts_dir}cli/commands/ssh/cli_ssh_commands.sh"; cliHandleSshCommands "$@"; } cliHandleSshCommands() { source "${install_scripts_dir}cli/commands/ssh/cli_ssh_commands.sh"; cliHandleSshCommands "$@"; }
cliHandleSystemCommands() { source "${install_scripts_dir}cli/commands/system/cli_system_commands.sh"; cliHandleSystemCommands "$@"; } cliHandleSystemCommands() { source "${install_scripts_dir}cli/commands/system/cli_system_commands.sh"; cliHandleSystemCommands "$@"; }
cliHandleUpdateCommands() { source "${install_scripts_dir}cli/commands/update/cli_update_commands.sh"; cliHandleUpdateCommands "$@"; } cliHandleUpdateCommands() { source "${install_scripts_dir}cli/commands/update/cli_update_commands.sh"; cliHandleUpdateCommands "$@"; }
cliHandleUpdaterCommands() { source "${install_scripts_dir}cli/commands/updater/cli_updater_commands.sh"; cliHandleUpdaterCommands "$@"; }
cliHandleValidationCommands() { source "${install_scripts_dir}cli/commands/validation/cli_validation_commands.sh"; cliHandleValidationCommands "$@"; } cliHandleValidationCommands() { source "${install_scripts_dir}cli/commands/validation/cli_validation_commands.sh"; cliHandleValidationCommands "$@"; }
cliHandleVerifyCommands() { source "${install_scripts_dir}cli/commands/verify/cli_verify_commands.sh"; cliHandleVerifyCommands "$@"; } cliHandleVerifyCommands() { source "${install_scripts_dir}cli/commands/verify/cli_verify_commands.sh"; cliHandleVerifyCommands "$@"; }
cliHandleWebuiCommands() { source "${install_scripts_dir}cli/commands/webui/cli_webui_commands.sh"; cliHandleWebuiCommands "$@"; } cliHandleWebuiCommands() { source "${install_scripts_dir}cli/commands/webui/cli_webui_commands.sh"; cliHandleWebuiCommands "$@"; }
@ -2102,6 +2119,7 @@ cliShowSetupHelp() { source "${install_scripts_dir}cli/commands/setup/cli_setup_
cliShowSshHelp() { source "${install_scripts_dir}cli/commands/ssh/cli_ssh_header.sh"; cliShowSshHelp "$@"; } cliShowSshHelp() { source "${install_scripts_dir}cli/commands/ssh/cli_ssh_header.sh"; cliShowSshHelp "$@"; }
cliShowSystemHelp() { source "${install_scripts_dir}cli/commands/system/cli_system_header.sh"; cliShowSystemHelp "$@"; } cliShowSystemHelp() { source "${install_scripts_dir}cli/commands/system/cli_system_header.sh"; cliShowSystemHelp "$@"; }
cliShowUpdateHelp() { source "${install_scripts_dir}cli/commands/update/cli_update_header.sh"; cliShowUpdateHelp "$@"; } cliShowUpdateHelp() { source "${install_scripts_dir}cli/commands/update/cli_update_header.sh"; cliShowUpdateHelp "$@"; }
cliShowUpdaterHelp() { source "${install_scripts_dir}cli/commands/updater/cli_updater_header.sh"; cliShowUpdaterHelp "$@"; }
cliShowValidationHelp() { source "${install_scripts_dir}cli/commands/validation/cli_validation_header.sh"; cliShowValidationHelp "$@"; } cliShowValidationHelp() { source "${install_scripts_dir}cli/commands/validation/cli_validation_header.sh"; cliShowValidationHelp "$@"; }
cliShowVerifyHelp() { source "${install_scripts_dir}cli/commands/verify/cli_verify_header.sh"; cliShowVerifyHelp "$@"; } cliShowVerifyHelp() { source "${install_scripts_dir}cli/commands/verify/cli_verify_header.sh"; cliShowVerifyHelp "$@"; }
cliShowWebuiHelp() { source "${install_scripts_dir}cli/commands/webui/cli_webui_header.sh"; cliShowWebuiHelp "$@"; } cliShowWebuiHelp() { source "${install_scripts_dir}cli/commands/webui/cli_webui_header.sh"; cliShowWebuiHelp "$@"; }
@ -2127,9 +2145,9 @@ crontabClear() { source "${install_scripts_dir}crontab/crontab_clear.sh"; cronta
crontabRefresh() { source "${install_scripts_dir}crontab/crontab_refresh.sh"; crontabRefresh "$@"; } crontabRefresh() { source "${install_scripts_dir}crontab/crontab_refresh.sh"; crontabRefresh "$@"; }
crontabSetup() { source "${install_scripts_dir}crontab/crontab_setup.sh"; crontabSetup "$@"; } crontabSetup() { source "${install_scripts_dir}crontab/crontab_setup.sh"; crontabSetup "$@"; }
crontabSetupBackupScheduler() { source "${install_scripts_dir}crontab/app/crontab_backup_scheduler.sh"; crontabSetupBackupScheduler "$@"; } crontabSetupBackupScheduler() { source "${install_scripts_dir}crontab/app/crontab_backup_scheduler.sh"; crontabSetupBackupScheduler "$@"; }
crontabSetupCheckProcessor() { source "${install_scripts_dir}crontab/task/crontab_setup_check_processor.sh"; crontabSetupCheckProcessor "$@"; } crontabSetupCheckProcessor() { source "${install_scripts_dir}task/crontab_setup_check_processor.sh"; crontabSetupCheckProcessor "$@"; }
crontabSetupSystemInfoUpdater() { source "${install_scripts_dir}crontab/system/crontab_setup_system_info_updater.sh"; crontabSetupSystemInfoUpdater "$@"; } crontabSetupSystemInfoUpdater() { source "${install_scripts_dir}crontab/system/crontab_setup_system_info_updater.sh"; crontabSetupSystemInfoUpdater "$@"; }
crontabSetupTaskProcessor() { source "${install_scripts_dir}crontab/task/crontab_setup_task_processor.sh"; crontabSetupTaskProcessor "$@"; } crontabSetupTaskProcessor() { source "${install_scripts_dir}task/crontab_setup_task_processor.sh"; crontabSetupTaskProcessor "$@"; }
crontabToolsMenu() { source "${install_scripts_dir}menu/tools/manage_crontab.sh"; crontabToolsMenu "$@"; } crontabToolsMenu() { source "${install_scripts_dir}menu/tools/manage_crontab.sh"; crontabToolsMenu "$@"; }
crowdsecToggleLibrePortalLogMounts() { source "${install_containers_dir}crowdsec/scripts/crowdsec_install_host.sh"; crowdsecToggleLibrePortalLogMounts "$@"; } crowdsecToggleLibrePortalLogMounts() { source "${install_containers_dir}crowdsec/scripts/crowdsec_install_host.sh"; crowdsecToggleLibrePortalLogMounts "$@"; }
dashyToolsMenu() { source "${install_scripts_dir}menu/tools/manage_dashy.sh"; dashyToolsMenu "$@"; } dashyToolsMenu() { source "${install_scripts_dir}menu/tools/manage_dashy.sh"; dashyToolsMenu "$@"; }
@ -2150,8 +2168,8 @@ databaseRemoveFile() { source "${install_scripts_dir}database/delete_db_file.sh"
databaseRestoreInsert() { source "${install_scripts_dir}database/insert/db_insert_restore.sh"; databaseRestoreInsert "$@"; } databaseRestoreInsert() { source "${install_scripts_dir}database/insert/db_insert_restore.sh"; databaseRestoreInsert "$@"; }
databaseUninstallApp() { source "${install_scripts_dir}database/app/db_uninstall_app.sh"; databaseUninstallApp "$@"; } databaseUninstallApp() { source "${install_scripts_dir}database/app/db_uninstall_app.sh"; databaseUninstallApp "$@"; }
detectOS() { source "${install_scripts_dir}function/checks/detect_os.sh"; detectOS "$@"; } detectOS() { source "${install_scripts_dir}function/checks/detect_os.sh"; detectOS "$@"; }
dispatchPending() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; dispatchPending "$@"; } dispatchPending() { source "${install_scripts_dir}task/crontab_task_processor.sh"; dispatchPending "$@"; }
dispatchSpecific() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; dispatchSpecific "$@"; } dispatchSpecific() { source "${install_scripts_dir}task/crontab_task_processor.sh"; dispatchSpecific "$@"; }
dockerAppRunTool() { source "${install_scripts_dir}docker/app/functions/function_app_tool.sh"; dockerAppRunTool "$@"; } dockerAppRunTool() { source "${install_scripts_dir}docker/app/functions/function_app_tool.sh"; dockerAppRunTool "$@"; }
dockerCheckAppHealthDetails() { source "${install_scripts_dir}docker/checks/app_health_details.sh"; dockerCheckAppHealthDetails "$@"; } dockerCheckAppHealthDetails() { source "${install_scripts_dir}docker/checks/app_health_details.sh"; dockerCheckAppHealthDetails "$@"; }
dockerCheckAppHealthStatus() { source "${install_scripts_dir}docker/checks/app_health_status.sh"; dockerCheckAppHealthStatus "$@"; } dockerCheckAppHealthStatus() { source "${install_scripts_dir}docker/checks/app_health_status.sh"; dockerCheckAppHealthStatus "$@"; }
@ -2239,7 +2257,7 @@ fixFolderPermissions() { source "${install_scripts_dir}function/permission/libre
fixPermissionsBeforeStart() { source "${install_scripts_dir}function/permission/before_start.sh"; fixPermissionsBeforeStart "$@"; } fixPermissionsBeforeStart() { source "${install_scripts_dir}function/permission/before_start.sh"; fixPermissionsBeforeStart "$@"; }
_focalboardBcrypt() { source "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; _focalboardBcrypt "$@"; } _focalboardBcrypt() { source "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; _focalboardBcrypt "$@"; }
_focalboardSqlite() { source "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; _focalboardSqlite "$@"; } _focalboardSqlite() { source "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; _focalboardSqlite "$@"; }
generateHealthReport() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; generateHealthReport "$@"; } generateHealthReport() { source "${install_scripts_dir}task/crontab_check_processor.sh"; generateHealthReport "$@"; }
generateInstallName() { source "${install_scripts_dir}checks/generate_install_name.sh"; generateInstallName "$@"; } generateInstallName() { source "${install_scripts_dir}checks/generate_install_name.sh"; generateInstallName "$@"; }
generateRandomPassword() { source "${install_scripts_dir}config/password/password_generate.sh"; generateRandomPassword "$@"; } generateRandomPassword() { source "${install_scripts_dir}config/password/password_generate.sh"; generateRandomPassword "$@"; }
generateRandomUsername() { source "${install_scripts_dir}config/password/password_user_generator.sh"; generateRandomUsername "$@"; } generateRandomUsername() { source "${install_scripts_dir}config/password/password_user_generator.sh"; generateRandomUsername "$@"; }
@ -2266,10 +2284,10 @@ hashPassword() { source "${install_scripts_dir}config/password/password_hash.sh"
headscaleCommands() { source "${install_containers_dir}headscale/scripts/headscale_commands.sh"; headscaleCommands "$@"; } headscaleCommands() { source "${install_containers_dir}headscale/scripts/headscale_commands.sh"; headscaleCommands "$@"; }
headscaleEditConfig() { source "${install_containers_dir}headscale/scripts/headscale_edit_config.sh"; headscaleEditConfig "$@"; } headscaleEditConfig() { source "${install_containers_dir}headscale/scripts/headscale_edit_config.sh"; headscaleEditConfig "$@"; }
headscale_install_post_compose() { source "${install_containers_dir}headscale/scripts/headscale_install_hooks.sh"; headscale_install_post_compose "$@"; } headscale_install_post_compose() { source "${install_containers_dir}headscale/scripts/headscale_install_hooks.sh"; headscale_install_post_compose "$@"; }
healthLogError() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogError "$@"; } healthLogError() { source "${install_scripts_dir}task/crontab_check_processor.sh"; healthLogError "$@"; }
healthLogInfo() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogInfo "$@"; } healthLogInfo() { source "${install_scripts_dir}task/crontab_check_processor.sh"; healthLogInfo "$@"; }
healthLogSuccess() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogSuccess "$@"; } healthLogSuccess() { source "${install_scripts_dir}task/crontab_check_processor.sh"; healthLogSuccess "$@"; }
healthLogWarning() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogWarning "$@"; } healthLogWarning() { source "${install_scripts_dir}task/crontab_check_processor.sh"; healthLogWarning "$@"; }
hostAppInstall() { source "${install_scripts_dir}install/host_app.sh"; hostAppInstall "$@"; } hostAppInstall() { source "${install_scripts_dir}install/host_app.sh"; hostAppInstall "$@"; }
hostSshAuthKeysFile() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshAuthKeysFile "$@"; } hostSshAuthKeysFile() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshAuthKeysFile "$@"; }
hostSshEnsureDir() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshEnsureDir "$@"; } hostSshEnsureDir() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshEnsureDir "$@"; }
@ -2364,9 +2382,9 @@ localDnsDomains() { source "${install_scripts_dir}network/dns/setup_local_dns.sh
localDnsServerIp() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; localDnsServerIp "$@"; } localDnsServerIp() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; localDnsServerIp "$@"; }
locationAdd() { source "${install_scripts_dir}backup/locations/location_add.sh"; locationAdd "$@"; } locationAdd() { source "${install_scripts_dir}backup/locations/location_add.sh"; locationAdd "$@"; }
locationRemove() { source "${install_scripts_dir}backup/locations/location_remove.sh"; locationRemove "$@"; } locationRemove() { source "${install_scripts_dir}backup/locations/location_remove.sh"; locationRemove "$@"; }
logDebug() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; logDebug "$@"; } logDebug() { source "${install_scripts_dir}task/crontab_task_processor.sh"; logDebug "$@"; }
logError() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; logError "$@"; } logError() { source "${install_scripts_dir}task/crontab_task_processor.sh"; logError "$@"; }
logInfo() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; logInfo "$@"; } logInfo() { source "${install_scripts_dir}task/crontab_task_processor.sh"; logInfo "$@"; }
_lpDownload() { source "${install_scripts_dir}source/fetch.sh"; _lpDownload "$@"; } _lpDownload() { source "${install_scripts_dir}source/fetch.sh"; _lpDownload "$@"; }
lpFetchRelease() { source "${install_scripts_dir}source/fetch.sh"; lpFetchRelease "$@"; } lpFetchRelease() { source "${install_scripts_dir}source/fetch.sh"; lpFetchRelease "$@"; }
lpFetchSource() { source "${install_scripts_dir}source/fetch.sh"; lpFetchSource "$@"; } lpFetchSource() { source "${install_scripts_dir}source/fetch.sh"; lpFetchSource "$@"; }
@ -2386,7 +2404,7 @@ _lpSha256() { source "${install_scripts_dir}source/fetch.sh"; _lpSha256 "$@"; }
lpVerifyInstall() { source "${install_scripts_dir}source/verify.sh"; lpVerifyInstall "$@"; } lpVerifyInstall() { source "${install_scripts_dir}source/verify.sh"; lpVerifyInstall "$@"; }
lpVerifyPubKeyPath() { source "${install_scripts_dir}source/verify.sh"; lpVerifyPubKeyPath "$@"; } lpVerifyPubKeyPath() { source "${install_scripts_dir}source/verify.sh"; lpVerifyPubKeyPath "$@"; }
lpVersionGt() { source "${install_scripts_dir}source/fetch.sh"; lpVersionGt "$@"; } lpVersionGt() { source "${install_scripts_dir}source/fetch.sh"; lpVersionGt "$@"; }
mainLoop() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; mainLoop "$@"; } mainLoop() { source "${install_scripts_dir}task/crontab_task_processor.sh"; mainLoop "$@"; }
mainMenu() { source "${install_scripts_dir}menu/menu_main.sh"; mainMenu "$@"; } mainMenu() { source "${install_scripts_dir}menu/menu_main.sh"; mainMenu "$@"; }
manifestCollect() { source "${install_scripts_dir}backup/manifest/manifest_collect.sh"; manifestCollect "$@"; } manifestCollect() { source "${install_scripts_dir}backup/manifest/manifest_collect.sh"; manifestCollect "$@"; }
manifestReadField() { source "${install_scripts_dir}backup/manifest/manifest_read.sh"; manifestReadField "$@"; } manifestReadField() { source "${install_scripts_dir}backup/manifest/manifest_read.sh"; manifestReadField "$@"; }
@ -2394,7 +2412,7 @@ manifestReadFromSnapshot() { source "${install_scripts_dir}backup/manifest/manif
manifestRemove() { source "${install_scripts_dir}backup/manifest/manifest_write.sh"; manifestRemove "$@"; } manifestRemove() { source "${install_scripts_dir}backup/manifest/manifest_write.sh"; manifestRemove "$@"; }
manifestWrite() { source "${install_scripts_dir}backup/manifest/manifest_write.sh"; manifestWrite "$@"; } manifestWrite() { source "${install_scripts_dir}backup/manifest/manifest_write.sh"; manifestWrite "$@"; }
mattermostToolsMenu() { source "${install_scripts_dir}menu/tools/manage_mattermost.sh"; mattermostToolsMenu "$@"; } mattermostToolsMenu() { source "${install_scripts_dir}menu/tools/manage_mattermost.sh"; mattermostToolsMenu "$@"; }
maybeRegenPoll() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; maybeRegenPoll "$@"; } maybeRegenPoll() { source "${install_scripts_dir}task/crontab_task_processor.sh"; maybeRegenPoll "$@"; }
menuContinue() { source "${install_scripts_dir}menu/message/continue.sh"; menuContinue "$@"; } menuContinue() { source "${install_scripts_dir}menu/message/continue.sh"; menuContinue "$@"; }
menuLoginRequired() { source "${install_scripts_dir}menu/message/login.sh"; menuLoginRequired "$@"; } menuLoginRequired() { source "${install_scripts_dir}menu/message/login.sh"; menuLoginRequired "$@"; }
menuShowFinalMessages() { source "${install_scripts_dir}menu/message/final.sh"; menuShowFinalMessages "$@"; } menuShowFinalMessages() { source "${install_scripts_dir}menu/message/final.sh"; menuShowFinalMessages "$@"; }
@ -2430,7 +2448,7 @@ moveFile() { source "${install_scripts_dir}function/file/move_file.sh"; moveFile
_nextcloudOcc() { source "${install_containers_dir}nextcloud/scripts/nextcloud_auth.sh"; _nextcloudOcc "$@"; } _nextcloudOcc() { source "${install_containers_dir}nextcloud/scripts/nextcloud_auth.sh"; _nextcloudOcc "$@"; }
_nextcloudOccWithPass() { source "${install_containers_dir}nextcloud/scripts/nextcloud_auth.sh"; _nextcloudOccWithPass "$@"; } _nextcloudOccWithPass() { source "${install_containers_dir}nextcloud/scripts/nextcloud_auth.sh"; _nextcloudOccWithPass "$@"; }
onlyoffice_install_message_data() { source "${install_containers_dir}onlyoffice/scripts/onlyoffice_install_hooks.sh"; onlyoffice_install_message_data "$@"; } onlyoffice_install_message_data() { source "${install_containers_dir}onlyoffice/scripts/onlyoffice_install_hooks.sh"; onlyoffice_install_message_data "$@"; }
openFifoReader() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; openFifoReader "$@"; } openFifoReader() { source "${install_scripts_dir}task/crontab_task_processor.sh"; openFifoReader "$@"; }
owncloud_install_post_compose() { source "${install_containers_dir}owncloud/scripts/owncloud_install_hooks.sh"; owncloud_install_post_compose "$@"; } owncloud_install_post_compose() { source "${install_containers_dir}owncloud/scripts/owncloud_install_hooks.sh"; owncloud_install_post_compose "$@"; }
passwordValidation() { source "${install_scripts_dir}function/validation/password.sh"; passwordValidation "$@"; } passwordValidation() { source "${install_scripts_dir}function/validation/password.sh"; passwordValidation "$@"; }
peerAdd() { source "${install_scripts_dir}peer/peer_add.sh"; peerAdd "$@"; } peerAdd() { source "${install_scripts_dir}peer/peer_add.sh"; peerAdd "$@"; }
@ -2465,7 +2483,7 @@ _peerSshOpts() { source "${install_scripts_dir}peer/peer_remote.sh"; _peerSshOpt
_peerSshTarget() { source "${install_scripts_dir}peer/peer_remote.sh"; _peerSshTarget "$@"; } _peerSshTarget() { source "${install_scripts_dir}peer/peer_remote.sh"; _peerSshTarget "$@"; }
peerValidateKind() { source "${install_scripts_dir}peer/peer_helpers.sh"; peerValidateKind "$@"; } peerValidateKind() { source "${install_scripts_dir}peer/peer_helpers.sh"; peerValidateKind "$@"; }
peerValidateName() { source "${install_scripts_dir}peer/peer_helpers.sh"; peerValidateName "$@"; } peerValidateName() { source "${install_scripts_dir}peer/peer_helpers.sh"; peerValidateName "$@"; }
performMaintenance() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; performMaintenance "$@"; } performMaintenance() { source "${install_scripts_dir}task/crontab_check_processor.sh"; performMaintenance "$@"; }
portAllocate() { source "${install_scripts_dir}network/ports/allocation/port_allocate.sh"; portAllocate "$@"; } portAllocate() { source "${install_scripts_dir}network/ports/allocation/port_allocate.sh"; portAllocate "$@"; }
portFindNextAvailablePort() { source "${install_scripts_dir}network/ports/core/port_find_next_available.sh"; portFindNextAvailablePort "$@"; } portFindNextAvailablePort() { source "${install_scripts_dir}network/ports/core/port_find_next_available.sh"; portFindNextAvailablePort "$@"; }
portGetPublicPorts() { source "${install_scripts_dir}network/ports/core/port_get_public_ports.sh"; portGetPublicPorts "$@"; } portGetPublicPorts() { source "${install_scripts_dir}network/ports/core/port_get_public_ports.sh"; portGetPublicPorts "$@"; }
@ -2484,22 +2502,22 @@ portUpdateComposeTags() { source "${install_scripts_dir}network/ports/allocation
processBcryptPassword() { source "${install_scripts_dir}config/password/bcrypt/password_process_bcrypt.sh"; processBcryptPassword "$@"; } processBcryptPassword() { source "${install_scripts_dir}config/password/bcrypt/password_process_bcrypt.sh"; processBcryptPassword "$@"; }
prometheus_install_post_compose() { source "${install_containers_dir}prometheus/scripts/prometheus_install_hooks.sh"; prometheus_install_post_compose "$@"; } prometheus_install_post_compose() { source "${install_containers_dir}prometheus/scripts/prometheus_install_hooks.sh"; prometheus_install_post_compose "$@"; }
prometheus_install_post_start() { source "${install_containers_dir}prometheus/scripts/prometheus_install_hooks.sh"; prometheus_install_post_start "$@"; } prometheus_install_post_start() { source "${install_containers_dir}prometheus/scripts/prometheus_install_hooks.sh"; prometheus_install_post_start "$@"; }
readTaskField() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; readTaskField "$@"; } readTaskField() { source "${install_scripts_dir}task/crontab_task_processor.sh"; readTaskField "$@"; }
reclaimDockerSpace() { source "${install_scripts_dir}cli/commands/system/cli_system_commands.sh"; reclaimDockerSpace "$@"; } reclaimDockerSpace() { source "${install_scripts_dir}cli/commands/system/cli_system_commands.sh"; reclaimDockerSpace "$@"; }
reconcileConfigFile() { source "${install_scripts_dir}config/core/variables/config_scan_variables.sh"; reconcileConfigFile "$@"; } reconcileConfigFile() { source "${install_scripts_dir}config/core/variables/config_scan_variables.sh"; reconcileConfigFile "$@"; }
reconcileContainersTopOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileContainersTopOwnership "$@"; } reconcileContainersTopOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileContainersTopOwnership "$@"; }
reconcileDockerOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileDockerOwnership "$@"; } reconcileDockerOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileDockerOwnership "$@"; }
_reconcileSplitValueComment() { source "${install_scripts_dir}config/core/variables/config_scan_variables.sh"; _reconcileSplitValueComment "$@"; } _reconcileSplitValueComment() { source "${install_scripts_dir}config/core/variables/config_scan_variables.sh"; _reconcileSplitValueComment "$@"; }
reconcileWebuiDirOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileWebuiDirOwnership "$@"; } reconcileWebuiDirOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileWebuiDirOwnership "$@"; }
recoverOrphans() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; recoverOrphans "$@"; } recoverOrphans() { source "${install_scripts_dir}task/crontab_task_processor.sh"; recoverOrphans "$@"; }
removeDockerImages() { source "${install_scripts_dir}cli/commands/system/cli_system_commands.sh"; removeDockerImages "$@"; } removeDockerImages() { source "${install_scripts_dir}cli/commands/system/cli_system_commands.sh"; removeDockerImages "$@"; }
removeEmptyLineAtFileEnd() { source "${install_scripts_dir}function/file/empty_line/remove_line.sh"; removeEmptyLineAtFileEnd "$@"; } removeEmptyLineAtFileEnd() { source "${install_scripts_dir}function/file/empty_line/remove_line.sh"; removeEmptyLineAtFileEnd "$@"; }
repairDirectoryStructure() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairDirectoryStructure "$@"; } repairDirectoryStructure() { source "${install_scripts_dir}task/crontab_check_processor.sh"; repairDirectoryStructure "$@"; }
repairFileSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairFileSystem "$@"; } repairFileSystem() { source "${install_scripts_dir}task/crontab_check_processor.sh"; repairFileSystem "$@"; }
repairPermissions() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairPermissions "$@"; } repairPermissions() { source "${install_scripts_dir}task/crontab_check_processor.sh"; repairPermissions "$@"; }
repairSystemIssues() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairSystemIssues "$@"; } repairSystemIssues() { source "${install_scripts_dir}task/crontab_check_processor.sh"; repairSystemIssues "$@"; }
repairSystemService() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairSystemService "$@"; } repairSystemService() { source "${install_scripts_dir}task/crontab_check_processor.sh"; repairSystemService "$@"; }
repairTaskSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairTaskSystem "$@"; } repairTaskSystem() { source "${install_scripts_dir}task/crontab_check_processor.sh"; repairTaskSystem "$@"; }
replaceBcryptPasswords() { source "${install_scripts_dir}config/password/bcrypt/password_replace_bcrypt.sh"; replaceBcryptPasswords "$@"; } replaceBcryptPasswords() { source "${install_scripts_dir}config/password/bcrypt/password_replace_bcrypt.sh"; replaceBcryptPasswords "$@"; }
replaceHexKeys() { source "${install_scripts_dir}config/password/password_replace hex.sh"; replaceHexKeys "$@"; } replaceHexKeys() { source "${install_scripts_dir}config/password/password_replace hex.sh"; replaceHexKeys "$@"; }
replaceLaravelAppKeys() { source "${install_scripts_dir}config/password/password_replace_appkey.sh"; replaceLaravelAppKeys "$@"; } replaceLaravelAppKeys() { source "${install_scripts_dir}config/password/password_replace_appkey.sh"; replaceLaravelAppKeys "$@"; }
@ -2569,8 +2587,8 @@ runSocket() { source "${install_scripts_dir}docker/command/run_privileged.sh"; r
runSshAccess() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSshAccess "$@"; } runSshAccess() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSshAccess "$@"; }
runSvc() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSvc "$@"; } runSvc() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSvc "$@"; }
runSystem() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSystem "$@"; } runSystem() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSystem "$@"; }
runTask() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; runTask "$@"; } runTask() { source "${install_scripts_dir}task/crontab_task_processor.sh"; runTask "$@"; }
run_task_processor() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; run_task_processor "$@"; } run_task_processor() { source "${install_scripts_dir}task/crontab_task_processor.sh"; run_task_processor "$@"; }
scanConfigsForRandomPassword() { source "${install_scripts_dir}config/password/password_update_all.sh"; scanConfigsForRandomPassword "$@"; } scanConfigsForRandomPassword() { source "${install_scripts_dir}config/password/password_update_all.sh"; scanConfigsForRandomPassword "$@"; }
scanFileForRandomPasswordKeysUsers() { source "${install_scripts_dir}config/password/password_scan_file.sh"; scanFileForRandomPasswordKeysUsers "$@"; } scanFileForRandomPasswordKeysUsers() { source "${install_scripts_dir}config/password/password_scan_file.sh"; scanFileForRandomPasswordKeysUsers "$@"; }
searxng_install_post_start() { source "${install_containers_dir}searxng/scripts/searxng_install_hooks.sh"; searxng_install_post_start "$@"; } searxng_install_post_start() { source "${install_containers_dir}searxng/scripts/searxng_install_hooks.sh"; searxng_install_post_start "$@"; }
@ -2591,7 +2609,7 @@ setupHeadscaleRemote() { source "${install_containers_dir}headscale/scripts/head
setupHeadscaleUser() { source "${install_containers_dir}headscale/scripts/headscale_user.sh"; setupHeadscaleUser "$@"; } setupHeadscaleUser() { source "${install_containers_dir}headscale/scripts/headscale_user.sh"; setupHeadscaleUser "$@"; }
setupHeadscaleVariables() { source "${install_scripts_dir}network/variables/headscale_variables.sh"; setupHeadscaleVariables "$@"; } setupHeadscaleVariables() { source "${install_scripts_dir}network/variables/headscale_variables.sh"; setupHeadscaleVariables "$@"; }
setupLocalDnsRewrites() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; setupLocalDnsRewrites "$@"; } setupLocalDnsRewrites() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; setupLocalDnsRewrites "$@"; }
setupTaskDir() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; setupTaskDir "$@"; } setupTaskDir() { source "${install_scripts_dir}task/crontab_task_processor.sh"; setupTaskDir "$@"; }
setupWizardMarkComplete() { source "${install_scripts_dir}setup/setup_lock.sh"; setupWizardMarkComplete "$@"; } setupWizardMarkComplete() { source "${install_scripts_dir}setup/setup_lock.sh"; setupWizardMarkComplete "$@"; }
setupWizardReset() { source "${install_scripts_dir}setup/setup_lock.sh"; setupWizardReset "$@"; } setupWizardReset() { source "${install_scripts_dir}setup/setup_lock.sh"; setupWizardReset "$@"; }
setupWizardTerminal() { source "${install_scripts_dir}checks/first_install.sh"; setupWizardTerminal "$@"; } setupWizardTerminal() { source "${install_scripts_dir}checks/first_install.sh"; setupWizardTerminal "$@"; }
@ -2643,20 +2661,25 @@ updateDockerNetworkSubnet() { source "${install_scripts_dir}docker/network/netwo
updateDockerSudoPassword() { source "${install_scripts_dir}docker/update_docker_sudo_pass.sh"; updateDockerSudoPassword "$@"; } updateDockerSudoPassword() { source "${install_scripts_dir}docker/update_docker_sudo_pass.sh"; updateDockerSudoPassword "$@"; }
updateFileOwnership() { source "${install_scripts_dir}function/permission/ownership/file.sh"; updateFileOwnership "$@"; } updateFileOwnership() { source "${install_scripts_dir}function/permission/ownership/file.sh"; updateFileOwnership "$@"; }
updateHostIPToWhitelist() { source "${install_scripts_dir}config/utils/update_whitelist.sh"; updateHostIPToWhitelist "$@"; } updateHostIPToWhitelist() { source "${install_scripts_dir}config/utils/update_whitelist.sh"; updateHostIPToWhitelist "$@"; }
updateTaskFields() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; updateTaskFields "$@"; } updaterApplyAll() { source "${install_scripts_dir}cli/commands/updater/cli_updater_commands.sh"; updaterApplyAll "$@"; }
updaterApplyApp() { source "${install_scripts_dir}cli/commands/updater/cli_updater_commands.sh"; updaterApplyApp "$@"; }
updaterComposePull() { source "${install_scripts_dir}cli/commands/updater/cli_updater_commands.sh"; updaterComposePull "$@"; }
updaterRecordHistory() { source "${install_scripts_dir}cli/commands/updater/cli_updater_commands.sh"; updaterRecordHistory "$@"; }
updaterRollbackApp() { source "${install_scripts_dir}cli/commands/updater/cli_updater_commands.sh"; updaterRollbackApp "$@"; }
updateTaskFields() { source "${install_scripts_dir}task/crontab_task_processor.sh"; updateTaskFields "$@"; }
userExists() { source "${install_scripts_dir}function/checks/user_exists.sh"; userExists "$@"; } userExists() { source "${install_scripts_dir}function/checks/user_exists.sh"; userExists "$@"; }
validateContainerHealth() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateContainerHealth "$@"; } validateContainerHealth() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateContainerHealth "$@"; }
validateDirectoryStructure() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateDirectoryStructure "$@"; } validateDirectoryStructure() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateDirectoryStructure "$@"; }
validateDiskSpace() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateDiskSpace "$@"; } validateDiskSpace() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateDiskSpace "$@"; }
validateDockerService() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateDockerService "$@"; } validateDockerService() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateDockerService "$@"; }
validateFileSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateFileSystem "$@"; } validateFileSystem() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateFileSystem "$@"; }
validateLibrePortalInstallation() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateLibrePortalInstallation "$@"; } validateLibrePortalInstallation() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateLibrePortalInstallation "$@"; }
validateLogHealth() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateLogHealth "$@"; } validateLogHealth() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateLogHealth "$@"; }
validatePermissions() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validatePermissions "$@"; } validatePermissions() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validatePermissions "$@"; }
validateSystemHealth() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateSystemHealth "$@"; } validateSystemHealth() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateSystemHealth "$@"; }
validateSystemService() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateSystemService "$@"; } validateSystemService() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateSystemService "$@"; }
validateTaskSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateTaskSystem "$@"; } validateTaskSystem() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateTaskSystem "$@"; }
validateWebUIReadiness() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateWebUIReadiness "$@"; } validateWebUIReadiness() { source "${install_scripts_dir}task/crontab_check_processor.sh"; validateWebUIReadiness "$@"; }
viewAppCategoryConfigs() { source "${install_scripts_dir}config/application/application_menu_category.sh"; viewAppCategoryConfigs "$@"; } viewAppCategoryConfigs() { source "${install_scripts_dir}config/application/application_menu_category.sh"; viewAppCategoryConfigs "$@"; }
viewAppConfigs() { source "${install_scripts_dir}config/application/application_menu_apps.sh"; viewAppConfigs "$@"; } viewAppConfigs() { source "${install_scripts_dir}config/application/application_menu_apps.sh"; viewAppConfigs "$@"; }
viewComposeFiles() { source "${install_scripts_dir}config/docker/docker_compose_menu.sh"; viewComposeFiles "$@"; } viewComposeFiles() { source "${install_scripts_dir}config/docker/docker_compose_menu.sh"; viewComposeFiles "$@"; }
@ -2711,12 +2734,13 @@ webuiSystemUpdateCheck() { source "${install_scripts_dir}webui/data/generators/s
webuiSystemVerify() { source "${install_scripts_dir}webui/data/generators/system/webui_system_update.sh"; webuiSystemVerify "$@"; } webuiSystemVerify() { source "${install_scripts_dir}webui/data/generators/system/webui_system_update.sh"; webuiSystemVerify "$@"; }
webuiUpdateAppLog() { source "${install_scripts_dir}webui/data/utils/webui_app_log.sh"; webuiUpdateAppLog "$@"; } webuiUpdateAppLog() { source "${install_scripts_dir}webui/data/utils/webui_app_log.sh"; webuiUpdateAppLog "$@"; }
webuiUpdateAppStatus() { source "${install_scripts_dir}webui/data/generators/apps/webui_app_status.sh"; webuiUpdateAppStatus "$@"; } webuiUpdateAppStatus() { source "${install_scripts_dir}webui/data/generators/apps/webui_app_status.sh"; webuiUpdateAppStatus "$@"; }
webuiUpdaterScan() { source "${install_scripts_dir}webui/data/generators/updater/webui_updater_scan.sh"; webuiUpdaterScan "$@"; }
webuiUpdateSystemConfig() { source "${install_scripts_dir}webui/data/generators/config/webui_update_config.sh"; webuiUpdateSystemConfig "$@"; } webuiUpdateSystemConfig() { source "${install_scripts_dir}webui/data/generators/config/webui_update_config.sh"; webuiUpdateSystemConfig "$@"; }
webuiValidateConfigValue() { source "${install_scripts_dir}webui/data/generators/config/webui_update_config.sh"; webuiValidateConfigValue "$@"; } webuiValidateConfigValue() { source "${install_scripts_dir}webui/data/generators/config/webui_update_config.sh"; webuiValidateConfigValue "$@"; }
whitelistPortUpdater() { source "${install_scripts_dir}docker/whitelist_port_updater.sh"; whitelistPortUpdater "$@"; } whitelistPortUpdater() { source "${install_scripts_dir}docker/whitelist_port_updater.sh"; whitelistPortUpdater "$@"; }
wireguard_install_post_compose() { source "${install_containers_dir}wireguard/scripts/wireguard_install_hooks.sh"; wireguard_install_post_compose "$@"; } wireguard_install_post_compose() { source "${install_containers_dir}wireguard/scripts/wireguard_install_hooks.sh"; wireguard_install_post_compose "$@"; }
wireguard_install_post_start() { source "${install_containers_dir}wireguard/scripts/wireguard_install_hooks.sh"; wireguard_install_post_start "$@"; } wireguard_install_post_start() { source "${install_containers_dir}wireguard/scripts/wireguard_install_hooks.sh"; wireguard_install_post_start "$@"; }
wireguard_install_pre() { source "${install_containers_dir}wireguard/scripts/wireguard_install_hooks.sh"; wireguard_install_pre "$@"; } wireguard_install_pre() { source "${install_containers_dir}wireguard/scripts/wireguard_install_hooks.sh"; wireguard_install_pre "$@"; }
writeAtomic() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; writeAtomic "$@"; } writeAtomic() { source "${install_scripts_dir}task/crontab_task_processor.sh"; writeAtomic "$@"; }
_writeTaskFile() { source "${install_scripts_dir}cli/task/cli_task_run.sh"; _writeTaskFile "$@"; } _writeTaskFile() { source "${install_scripts_dir}cli/task/cli_task_run.sh"; _writeTaskFile "$@"; }
zipFile() { source "${install_scripts_dir}function/file/zip_file.sh"; zipFile "$@"; } zipFile() { source "${install_scripts_dir}function/file/zip_file.sh"; zipFile "$@"; }

View File

@ -23,6 +23,7 @@ files_libreportal_cli=(
"${source_scripts[@]}" "${source_scripts[@]}"
"${ssh_scripts[@]}" "${ssh_scripts[@]}"
"${start_scripts[@]}" "${start_scripts[@]}"
"${task_scripts[@]}"
"${update_scripts[@]}" "${update_scripts[@]}"
"${webui_scripts[@]}" "${webui_scripts[@]}"
) )

View File

@ -27,7 +27,7 @@ BACKUPS_DIR="__BACKUPS_DIR__"
SERVICE_FILE="/etc/systemd/system/libreportal.service" SERVICE_FILE="/etc/systemd/system/libreportal.service"
INSTALL_SCRIPTS_DIR="$SYSTEM_DIR/install/scripts" INSTALL_SCRIPTS_DIR="$SYSTEM_DIR/install/scripts"
TASK_PROCESSOR="$INSTALL_SCRIPTS_DIR/crontab/task/crontab_task_processor.sh" LP_COMMAND="/usr/local/bin/libreportal" # stable wrapper symlink; runs the processor via start.sh, so the unit is decoupled from the script's in-tree path
DB_CFG="$SYSTEM_DIR/configs/general/general_docker_install" DB_CFG="$SYSTEM_DIR/configs/general/general_docker_install"
_mode() { _mode() {
@ -64,7 +64,7 @@ Environment=LP_SYSTEM_DIR=$SYSTEM_DIR
Environment=LP_CONTAINERS_DIR=$CONTAINERS_DIR Environment=LP_CONTAINERS_DIR=$CONTAINERS_DIR
Environment=LP_BACKUPS_DIR=$BACKUPS_DIR Environment=LP_BACKUPS_DIR=$BACKUPS_DIR
Environment=LP_MANAGER_USER=$MANAGER Environment=LP_MANAGER_USER=$MANAGER
ExecStart=$TASK_PROCESSOR start_script ExecStart=$LP_COMMAND __task-processor
Restart=always Restart=always
RestartSec=5 RestartSec=5
SyslogIdentifier=libreportal SyslogIdentifier=libreportal

View File

@ -2,7 +2,7 @@
crontabSetupCheckProcessor() crontabSetupCheckProcessor()
{ {
local task_check_script="$install_scripts_dir/crontab/task/crontab_check_processor.sh" local task_check_script="$install_scripts_dir/task/crontab_check_processor.sh"
local task_dir="$containers_dir/libreportal/frontend/data/tasks" local task_dir="$containers_dir/libreportal/frontend/data/tasks"
# Update TASK_DIR in the task processor script # Update TASK_DIR in the task processor script

View File

@ -2,7 +2,7 @@
crontabSetupTaskProcessor() crontabSetupTaskProcessor()
{ {
local task_processor_script="$install_scripts_dir/crontab/task/crontab_task_processor.sh" local task_processor_script="$install_scripts_dir/task/crontab_task_processor.sh"
local task_dir="$containers_dir/libreportal/frontend/data/tasks" local task_dir="$containers_dir/libreportal/frontend/data/tasks"
# Update TASK_DIR in the task processor script # Update TASK_DIR in the task processor script

View File

@ -36,7 +36,7 @@ script_task_processor_flag="$1"
# relocatable path roots — paths.sh sets docker_dir/containers_dir/configs_dir/… # relocatable path roots — paths.sh sets docker_dir/containers_dir/configs_dir/…
# (the data + backup roots can't be derived from our own location). # (the data + backup roots can't be derived from our own location).
LP_SELF_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)" LP_SELF_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
LP_SCRIPTS="${install_scripts_dir:-$(cd "$LP_SELF_DIR/../.." 2>/dev/null && pwd)/}" LP_SCRIPTS="${install_scripts_dir:-$(cd "$LP_SELF_DIR/.." 2>/dev/null && pwd)/}"
[[ -f "${LP_SCRIPTS}source/paths.sh" ]] && source "${LP_SCRIPTS}source/paths.sh" [[ -f "${LP_SCRIPTS}source/paths.sh" ]] && source "${LP_SCRIPTS}source/paths.sh"
LP_SCRIPTS="${install_scripts_dir:-$LP_SCRIPTS}" LP_SCRIPTS="${install_scripts_dir:-$LP_SCRIPTS}"
LP_DOCKER_CFG="${configs_dir:-/libreportal-system/configs/}general/general_docker_install" LP_DOCKER_CFG="${configs_dir:-/libreportal-system/configs/}general/general_docker_install"

View File

@ -13,7 +13,7 @@ installLibrePortalWebUITaskService()
{ {
[[ "$CFG_REQUIREMENT_WEBUI_SERVICE" == "true" ]] || return 0 [[ "$CFG_REQUIREMENT_WEBUI_SERVICE" == "true" ]] || return 0
local task_processor_script="$install_scripts_dir/crontab/task/crontab_task_processor.sh" local task_processor_script="$install_scripts_dir/task/crontab_task_processor.sh"
local task_dir="$containers_dir/libreportal/frontend/data/tasks" local task_dir="$containers_dir/libreportal/frontend/data/tasks"
# Point the processor at the task dir (idempotent). This edits the # Point the processor at the task dir (idempotent). This edits the

View File

@ -39,6 +39,17 @@ initLibrePortal()
# dir, so the relative path resolves. # dir, so the relative path resolves.
[[ -f "scripts/source/paths.sh" ]] && source "scripts/source/paths.sh" [[ -f "scripts/source/paths.sh" ]] && source "scripts/source/paths.sh"
# Internal launcher: the systemd unit starts the task processor through this
# stable entry (`libreportal __task-processor`) so the unit never bakes the
# processor's in-tree path — only this hand-off knows where the script lives.
# paths.sh above resolved install_scripts_dir; export it so the exec'd
# processor inherits the roots and skips its own self-location. Intercept here,
# before the heavy load_sources — we only need to hand off to the daemon.
if [[ "$initial_command1" == "__task-processor" ]]; then
export install_scripts_dir
exec "${install_scripts_dir}task/crontab_task_processor.sh" start_script
fi
# For the full application loading # For the full application loading
if [[ "$initial_command1" == "run" ]]; then if [[ "$initial_command1" == "run" ]]; then
if [[ -z "$initial_command2" ]]; then if [[ -z "$initial_command2" ]]; then