diff --git a/dms-lxc.sh b/dms-lxc.sh index 2c945eb..33da631 100644 --- a/dms-lxc.sh +++ b/dms-lxc.sh @@ -18,7 +18,8 @@ set -Eeuo pipefail # Standard-Einstellungen (per ENV oder interaktiv überschreibbar) # --------------------------------------------------------------------------- CTID="${CTID:-}" # leer => nächste freie ID -HOSTNAME="${HOSTNAME:-mailserver}" # LXC-Hostname (Anzeigename) +# ACHTUNG: NICHT $HOSTNAME nutzen — das ist in der Shell bereits der Host-Name! +CT_HOSTNAME="${CT_HOSTNAME:-mailserver}" # LXC-Hostname (Anzeigename) MAIL_FQDN="${MAIL_FQDN:-}" # z.B. mail.example.com (PFLICHT) MAIL_DOMAIN="${MAIL_DOMAIN:-}" # primäre Domain, z.B. kgva.ch (leer => aus FQDN abgeleitet) MAIL_DOMAINS="${MAIL_DOMAINS:-}" # ALLE Mail-Domains (Leerzeichen-getrennt); leer => nur MAIL_DOMAIN @@ -104,53 +105,68 @@ fi [[ -f "$STACK_DIR/docker-compose.yml" ]] || die "stack/docker-compose.yml nicht gefunden unter $STACK_DIR" # --------------------------------------------------------------------------- -# Interaktive Abfragen (nur wenn nicht per ENV gesetzt) +# Interaktiver Dialog (Prompt -> stderr, Wert -> stdout, daher captureable) # --------------------------------------------------------------------------- -ask() { local p="$1" d="${2:-}" v; read -rp "$(echo -e "${BL}?${CL} $p ${d:+[$d] }")" v; echo "${v:-$d}"; } +ask() { local p="$1" d="${2:-}" v; read -rp "$(echo -e " ${BL}?${CL} ${p}${d:+ ${YW}[$d]${CL}}: ")" v; echo "${v:-$d}"; } +asks() { local p="$1" v; read -rsp "$(echo -e " ${BL}?${CL} ${p}: ")" v; echo >&2; echo "$v"; } +section() { echo -e "\n${GN}┌──${CL} ${BL}$1${CL}"; } +cat <