LibrePortal/scripts/checks/check_requirements.sh
librelad 2873a92b80 refactor(ssh): remove the vestigial host-SSH key system
The old inbound-admin-SSH layer was effectively dead: gated on config flags
that don't exist (CFG_SSHKEY_*_ENABLED, CFG_REQUIREMENT_SSHREMOTE), its
authorized_keys installer was unwired, and its download path (sshdownload
container) was already retired. What remained reachable was either a no-op or
a lockout footgun (disable-passwords with no working key install).

Remove it whole: scripts/ssh/*, the four SSH requirement checks, the SSH tools
menu, the dead webui SSH populater, and the unused ssh DB inserts; drop their
calls from the start/requirements/menu flows. A fresh, WebUI-driven admin SSH
access feature replaces it next.

Also make generate_arrays.sh self-healing: prune files_*.sh whose source
folder no longer exists (cleared the now-stale files_ssh.sh + an orphan
files_api.sh) so removed areas don't linger in the sourced set.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-23 16:31:10 +01:00

61 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
checkRequirements()
{
isHeader "Checking Requirements"
isNotice "Requirements are about to be installed."
isNotice "Edit the features config if you want to disable anything."
echo ""
checkRootRequirement;
checkCommandRequirement;
checkWireguardRequirement;
checkInstallTypeRequirement;
checkConfigRequirement;
checkPasswordsRequirement;
checkDatabaseRequirement;
checkDockerRequirement;
checkDockerComposeRequirement;
checkDockerRootlessRequirement;
checkDockerNetworkRequirement;
checkUFWRequirement;
checkUFWDRequirement;
checkManagerRequirement;
checkSSLCertsRequirement;
checkSwapfileRequirement;
checkCrontabRequirement;
checkWebUISystemdRequirement;
checkSuggestInstallsRequirement;
checkLibrePortalWebUIImageRequirement;
checkLibrePortalWebUIAppRequirement;
checkTraefikRequirement;
checkDockerSwitcherRequirement;
# `startPreInstall` already runs `startScan` at the end of its flow, so
# only call it again on the no-preinstall path. Otherwise every
# `libreportal run` that touches preinstall fires `webuiLibrePortalUpdate`
# twice (the lock file is removed at the end of each invocation, so the
# second call doesn't short-circuit — it does the full regen again).
if [[ "$preinstallneeded" -ne 0 ]]; then
startPreInstall;
else
startScan;
fi
# After load here
if [[ "$initial_command2" == "install" ]]; then
# Clear the install spam so the credentials are the first thing the
# user sees. The full transcript is preserved in $install_log_path.
# Stdout is teed to a log file (start.sh `exec > >(tee …)`), so we
# write the clear sequence straight to /dev/tty instead of relying
# on `[ -t 1 ]`, which is false under that redirect.
if [ -e /dev/tty ] && [ -t 0 ]; then
clear >/dev/tty 2>/dev/null || printf '\033c' >/dev/tty 2>/dev/null
fi
webuiDisplayLogins;
fi
if [[ "$initial_command2" == "terminal" ]]; then
resetToMenu;
fi
}