Files
2025-08-10 16:11:24 +00:00

68 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# data.sh - per-appliance metadata & post-install actions
# For Baldnerd's Appliance Builder
#
# Usage:
# ./data.sh description # print short About text (plain text)
# ./data.sh post-install # optional: run post-install helpers (may use whiptail)
# ./data.sh help # show available commands
#
# Notes:
# - Keep output plain text (no ANSI) so TUI callers can display it cleanly.
# - If whiptail is available, as it is in Baldnerd's Appliance Builder, this
# script will use it automatically for menus/messages.
# - Post-install should be safe to re-run. Avoid destructive actions.
set -Eeuo pipefail
APPLIANCE_NAME="LiteSpeed Server Appliance"
APPLIANCE_DESC="The LiteSpeed Server Appliance is a fast, modern web server environment. It's perfect for hosting high-performance websites and apps, including but not limited to WordPress."
has_cmd(){ command -v "$1" >/dev/null 2>&1; }
msg() {
if has_cmd whiptail && [[ -t 1 ]]; then
whiptail --title "${APPLIANCE_NAME}" --msgbox "$*" 14 78
else
printf "%s\n" "$*"
fi
}
post_install_tasks() {
# Offer to set the WebAdmin password
if [[ -x /usr/local/lsws/admin/misc/admpass.sh ]]; then
if has_cmd whiptail && [[ -t 1 ]]; then
if whiptail --yesno "Set the WebAdmin password now?" 10 60; then
/usr/local/lsws/admin/misc/admpass.sh || true
msg "WebAdmin password updated.\nOpen: https://<your-host>:7080/"
else
msg "You can set it later by running: /usr/local/lsws/admin/misc/admpass.sh"
fi
else
# Non-interactive fallback
echo "To set WebAdmin password, run: /usr/local/lsws/admin/misc/admpass.sh"
fi
fi
# Show quick info
cat <<INFO
Admin UI: https://<your-host>:7080/
Site root: /var/www/html
Service: lsws (systemctl status lsws)
INFO
}
case "${1:-}" in
description)
cat <<DESC
${APPLIANCE_NAME}
${APPLIANCE_DESC}
DESC
;;
post-install) post_install_tasks ;;
help|--help|-h)
echo "Usage: $0 {description|post-install|help}"
;;
*) echo "Usage: $0 {description|post-install|help}"; exit 2 ;;
esac