@@ -20,6 +20,7 @@ set -Eeuo pipefail
2020: " ${STATIC_IP:= } "
2121: " ${LOCAL_PROFILE_PATH:= } "
2222: " ${MINIMAL:= false} "
23+ : " ${LITE:= false} "
2324: " ${PACKAGES:= } "
2425
2526# Enable alias expansion in non-interactive bash scripts.
@@ -61,12 +62,13 @@ Options:
6162 --local-profile-path <path> Use a local .dappnode_profile instead of downloading (equivalent: LOCAL_PROFILE_PATH=...)
6263 --ipfs-endpoint <url> Override IPFS gateway endpoint (equivalent: IPFS_ENDPOINT=...)
6364 --profile-url <url> Override profile download URL (equivalent: PROFILE_URL=...)
64- --minimal Force minimal package set: BIND VPN WIREGUARD DAPPMANAGER (equivalent: MINIMAL=true)
65+ --minimal Install only BIND DAPPMANAGER NOTIFICATIONS PREMIUM (equivalent: MINIMAL=true)
66+ --lite Install reduced package set: BIND VPN WIREGUARD DAPPMANAGER NOTIFICATIONS PREMIUM (equivalent: LITE=true)
6567 --packages <list> Override package selection (comma or space separated), e.g. BIND,IPFS,VPN
6668 -h, --help Show this help
6769
6870Environment variables (also supported):
69- UPDATE, STATIC_IP, LOCAL_PROFILE_PATH, IPFS_ENDPOINT, PROFILE_URL, MINIMAL, PACKAGES
71+ UPDATE, STATIC_IP, LOCAL_PROFILE_PATH, IPFS_ENDPOINT, PROFILE_URL, MINIMAL, LITE, PACKAGES
7072EOF
7173}
7274
@@ -101,6 +103,10 @@ parse_args() {
101103 MINIMAL=true
102104 shift
103105 ;;
106+ --lite)
107+ LITE=true
108+ shift
109+ ;;
104110 --packages)
105111 [[ $# -ge 2 ]] || die " --packages requires a package list argument"
106112 PACKAGES=" $2 "
@@ -125,6 +131,12 @@ parse_args() {
125131 done
126132}
127133
134+ validate_install_mode () {
135+ if [[ " ${MINIMAL} " == " true" && " ${LITE} " == " true" ]]; then
136+ die " --minimal and --lite are mutually exclusive"
137+ fi
138+ }
139+
128140require_cmd () {
129141 local cmd=" $1 "
130142 command -v " $cmd " > /dev/null 2>&1 || die " Missing required command: $cmd "
@@ -581,7 +593,7 @@ is_port_used() {
581593# Determine packages to be installed
582594determine_packages () {
583595 # Explicit package list override from flag/env always has top priority.
584- # It supersedes MINIMAL and any OS/port-based package determination.
596+ # It supersedes MINIMAL/LITE and any OS/port-based package determination.
585597 if [[ -n " ${PACKAGES// [[:space:],]/ } " ]]; then
586598 local raw token normalized
587599 local custom_pkgs=()
@@ -627,10 +639,11 @@ determine_packages() {
627639 log " --packages/PACKAGES did not include DAPPMANAGER; appending it automatically"
628640 fi
629641
630- if [[ " ${MINIMAL} " == " true" ]]; then
631- log " Custom packages provided; overriding --minimal/MINIMAL"
642+ if [[ " ${MINIMAL} " == " true" || " ${LITE} " == " true " ]]; then
643+ log " Custom packages provided; overriding --minimal/--lite and MINIMAL/LITE "
632644 fi
633645 MINIMAL=false
646+ LITE=false
634647 PKGS=(" ${custom_pkgs[@]} " )
635648
636649 log " Packages override enabled via --packages/PACKAGES"
@@ -644,9 +657,9 @@ determine_packages() {
644657 return 0
645658 fi
646659
647- # Global override: minimal install, regardless of OS.
660+ # Global override: new minimal install, regardless of OS.
648661 if [[ " ${MINIMAL} " == " true" ]]; then
649- PKGS=(BIND VPN WIREGUARD DAPPMANAGER NOTIFICATIONS PREMIUM)
662+ PKGS=(BIND DAPPMANAGER NOTIFICATIONS PREMIUM)
650663 log " Minimal mode enabled; overriding packages"
651664 log " Packages to be installed: ${PKGS[*]} "
652665 log " PKGS: ${PKGS[*]} "
@@ -658,6 +671,20 @@ determine_packages() {
658671 return 0
659672 fi
660673
674+ # Global override: lite install (former minimal behavior), regardless of OS.
675+ if [[ " ${LITE} " == " true" ]]; then
676+ PKGS=(BIND VPN WIREGUARD DAPPMANAGER NOTIFICATIONS PREMIUM)
677+ log " Lite mode enabled; overriding packages"
678+ log " Packages to be installed: ${PKGS[*]} "
679+ log " PKGS: ${PKGS[*]} "
680+ for comp in " ${PKGS[@]} " ; do
681+ local ver_var
682+ ver_var=" ${comp} _VERSION"
683+ log " $ver_var = ${! ver_var-} "
684+ done
685+ return 0
686+ fi
687+
661688 # macOS: package selection depends on whether the Mac is suitable to run always-on.
662689 # - non-server mac: BIND VPN WIREGUARD DAPPMANAGER
663690 # - server mac: BIND IPFS VPN WIREGUARD DAPPMANAGER WIFI HTTPS
@@ -1064,6 +1091,7 @@ addUserToDockerGroup() {
10641091
10651092main () {
10661093 parse_args " $@ "
1094+ validate_install_mode
10671095
10681096 bootstrap_filesystem
10691097 check_prereqs
@@ -1078,7 +1106,7 @@ main() {
10781106
10791107 # --- Linux-only setup steps ---
10801108 if $IS_LINUX ; then
1081- if [[ " ${MINIMAL} " != " true" ]]; then
1109+ if [[ " ${MINIMAL} " != " true" && " ${LITE} " != " true " ]]; then
10821110 echo " Creating swap memory..." 2>&1 | tee -a " $LOGFILE "
10831111 addSwap
10841112
0 commit comments