diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index b2846ad..8494d3c 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -50,18 +50,39 @@ DEFAULT_LOCALE="$(guess_locale_from_tz "$DEFAULT_TZ")" echo -e "${GREY}Erkannte IP (v4): ${SERVER_PUBLIC_IPV4} v6: ${SERVER_PUBLIC_IPV6:-–}${NC}" -read -r -p "Mailserver FQDN (z.B. mx.domain.tld) [Enter=${MTA_SUB}.${BASE_DOMAIN}]: " MAIL_FQDN -MAIL_FQDN="${MAIL_FQDN:-${MTA_SUB}.${BASE_DOMAIN}}" +# ── FQDNs abfragen ─────────────────────────────────────────────────────────── +read -r -p "Mailserver FQDN (MX, z.B. mx.domain.tld) [Enter=${MTA_SUB}.${BASE_DOMAIN}]: " MTA_FQDN +read -r -p "UI / Admin-Panel FQDN (z.B. ui.domain.tld) [Enter=${UI_SUB}.${BASE_DOMAIN}]: " UI_FQDN +read -r -p "Webmail FQDN (z.B. webmail.domain.tld) [Enter=${WEBMAIL_SUB}.${BASE_DOMAIN}]: " WEBMAIL_FQDN -if [[ "$MAIL_FQDN" =~ ^([^.]+)\.(.+)$ ]]; then +# Defaults, wenn Enter gedrückt +MTA_FQDN="${MTA_FQDN:-${MTA_SUB}.${BASE_DOMAIN}}" +UI_FQDN="${UI_FQDN:-${UI_SUB}.${BASE_DOMAIN}}" +WEBMAIL_FQDN="${WEBMAIL_FQDN:-${WEBMAIL_SUB}.${BASE_DOMAIN}}" + +# BASE_DOMAIN und Sub-Labels aus MTA/UI/WEBMAIL ableiten (robust) +if [[ "$MTA_FQDN" =~ ^([^.]+)\.(.+)$ ]]; then MTA_SUB="${BASH_REMATCH[1]}" BASE_DOMAIN="${BASH_REMATCH[2]}" fi +if [[ "$UI_FQDN" =~ ^([^.]+)\.(.+)$ ]]; then + UI_SUB="${BASH_REMATCH[1]}" + # BASE_DOMAIN hier NICHT überschreiben (wir folgen MX) +fi +if [[ "$WEBMAIL_FQDN" =~ ^([^.]+)\.(.+)$ ]]; then + WEBMAIL_SUB="${BASH_REMATCH[1]}" +fi -UI_HOST="${UI_SUB}.${BASE_DOMAIN}" -WEBMAIL_HOST="${WEBMAIL_SUB}.${BASE_DOMAIN}" -MAIL_HOSTNAME="${MAIL_FQDN}" +# Kanonische Host-Variablen (NIE wieder zusammenbauen – nimm die FQDNs) +MAIL_HOSTNAME="${MTA_FQDN}" +UI_HOST="${UI_FQDN}" +WEBMAIL_HOST="${WEBMAIL_FQDN}" +# Zeitzone/Locale sinnvoll setzen (könntest du auch noch abfragen) +APP_TZ="${APP_TZ:-$DEFAULT_TZ}" +APP_LOCALE="${APP_LOCALE:-$DEFAULT_LOCALE}" + +# ── Variablen exportieren ─────────────────────────────────────────────────── export APP_NAME APP_USER APP_GROUP APP_USER_PREFIX APP_DIR export BASE_DOMAIN UI_SUB WEBMAIL_SUB MTA_SUB export UI_HOST WEBMAIL_HOST MAIL_HOSTNAME