Show all missing env vars with usage when install.sh is run without required variables
This commit is contained in:
Regular → Executable
+20
-3
@@ -15,10 +15,27 @@ err() { echo -e "${RED}[!!]${NC} $*"; exit 1; }
|
||||
PROJECT_DIR="/home/wall/vacuum-wall"
|
||||
USER_NAME="vacuum-wall"
|
||||
USER_HOME="/home/$USER_NAME"
|
||||
DOMAIN="${MGMT_DOMAIN:?ERROR: Set MGMT_DOMAIN env var (e.g., wall.lan)}"
|
||||
# --- Validate required env vars ---
|
||||
missing=()
|
||||
[[ -z "${MGMT_DOMAIN:-}" ]] && missing+=(MGMT_DOMAIN)
|
||||
[[ -z "${MGMT_PASS:-}" ]] && missing+=(MGMT_PASS)
|
||||
[[ -z "${ACME_EMAIL:-}" ]] && missing+=(ACME_EMAIL)
|
||||
|
||||
if (( ${#missing[@]} )); then
|
||||
echo -e "${RED}[!!]${NC} Missing required environment variables:"
|
||||
for v in "${missing[@]}"; do
|
||||
case "$v" in
|
||||
MGMT_DOMAIN) echo ' export MGMT_DOMAIN="wall.lan" # Management UI hostname';;
|
||||
MGMT_PASS) echo ' export MGMT_PASS="your-password" # WebUI basic auth password';;
|
||||
ACME_EMAIL) echo " export ACME_EMAIL=\"you@example.com\" # Let's Encrypt email";;
|
||||
esac
|
||||
done
|
||||
printf '\nTo run: MGMT_DOMAIN=wall.lan MGMT_PASS=pass ACME_EMAIL=you@example.com ./install.sh\n'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DOMAIN="$MGMT_DOMAIN"
|
||||
MGMT_USER="${MGMT_USER:-admin}"
|
||||
MGMT_PASS="${MGMT_PASS:?ERROR: Set MGMT_PASS env var for WebUI basic auth}"
|
||||
ACME_EMAIL="${ACME_EMAIL:?ERROR: Set ACME_EMAIL env var for Let's Encrypt}"
|
||||
|
||||
# --- Pre-flight checks ---
|
||||
[[ $EUID -eq 0 ]] || err "This script must be run as root."
|
||||
|
||||
Reference in New Issue
Block a user