Add Library Catalog addon, lib/docker.sh and tests
- lib/docker.sh: shared Docker/Compose tooling (on-demand install via apt or get.docker.com, compose wrapper, container state/health, HTTP wait) - menus/addon_library.sh: install/update/uninstall the Koha + Quick Add stack from library/ to /opt/kiosk-library, add the catalogue as a kiosk page (duration 0), choose kiosk-only vs LAN access, show addresses and login - wire into install.sh menu, complete_uninstall and clone_settings - tests/addon_library.test.sh: 41 checks against a stub sudo/docker and a fixture stack (no root, Docker or network needed) Note: the 'network access' choice relies on a BIND_ADDR setting in the library stack, added in a follow-up commit. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013wi3ZSot4XbUViwRFgLpRf
This commit is contained in:
@@ -65,6 +65,7 @@ clone_detect_addons() {
|
||||
command -v netbird &>/dev/null && addons+=("netbird")
|
||||
baresip_is_installed 2>/dev/null && addons+=("asterisk_intercom")
|
||||
webui_is_installed 2>/dev/null && addons+=("webui")
|
||||
library_is_installed 2>/dev/null && addons+=("library")
|
||||
|
||||
if sudo -u "$KIOSK_USER" test -f "$CONFIG_PATH" 2>/dev/null; then
|
||||
local authelia_url
|
||||
@@ -243,6 +244,13 @@ action_apply_clone_settings() {
|
||||
fi ;;
|
||||
asterisk_intercom)
|
||||
echo " [!] Asterisk Intercom - needs its own SIP extension on this device" ;;
|
||||
library)
|
||||
if library_is_installed; then
|
||||
echo " [x] Library Catalog - already installed (the books themselves are not cloned)"
|
||||
else
|
||||
echo " [ ] Library Catalog - not installed, install via Addons (the catalogue page is cloned, the books are not)"
|
||||
missing_any=true
|
||||
fi ;;
|
||||
authelia)
|
||||
echo " [!] Authelia - needs a fresh login on this device" ;;
|
||||
*)
|
||||
|
||||
Reference in New Issue
Block a user