Show all missing env vars with usage when install.sh is run without required variables

This commit is contained in:
2026-05-09 20:56:32 +00:00
parent 65741644a3
commit 817b7c409c
2 changed files with 143 additions and 3 deletions
Regular → Executable
+20 -3
View File
@@ -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."