From c480a9787d68dfc0155a526681f1941784f8e8d3 Mon Sep 17 00:00:00 2001 From: Guillaume Hain Date: Fri, 13 Jul 2018 06:48:38 +0200 Subject: [PATCH 1/2] Updates generate_config.sh making it working on macOS --- generate_config.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/generate_config.sh b/generate_config.sh index e0d77653..e453a221 100755 --- a/generate_config.sh +++ b/generate_config.sh @@ -24,7 +24,8 @@ if [[ -f mailcow.conf ]]; then fi while [ -z "${MAILCOW_HOSTNAME}" ]; do - read -p "Hostname (FQDN): " -ei "mx.example.org" MAILCOW_HOSTNAME + read -p "Hostname (FQDN): " -e MAILCOW_HOSTNAME + [ -z "${MAILCOW_HOSTNAME}" ] && MAILCOW_HOSTNAME='mx.example.org' DOTS=${MAILCOW_HOSTNAME//[^.]}; if [ ${#DOTS} -lt 2 ]; then echo "${MAILCOW_HOSTNAME} is not a FQDN" @@ -39,9 +40,11 @@ elif [[ -a /etc/localtime ]]; then fi if [ -z "$TZ" ]; then - read -p "Timezone: " -ei "Europe/Berlin" TZ + read -p "Timezone: " -e MAILCOW_TZ + [ -z "${MAILCOW_TZ}" ] && MAILCOW_TZ='Europe/Berlin' else - read -p "Timezone: " -ei ${TZ} TZ + read -p "Timezone: " -e MAILCOW_TZ + [ -z "${MAILCOW_TZ}" ] && MAILCOW_TZ=${TZ} fi [[ ! -f ./data/conf/rspamd/override.d/worker-controller-password.inc ]] && echo '# Placeholder' > ./data/conf/rspamd/override.d/worker-controller-password.inc @@ -62,8 +65,8 @@ DBNAME=mailcow DBUSER=mailcow # Please use long, random alphanumeric strings (A-Za-z0-9) -DBPASS=$( Date: Wed, 18 Jul 2018 08:47:53 +0200 Subject: [PATCH 2/2] Update generate_config.sh --- generate_config.sh | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/generate_config.sh b/generate_config.sh index e453a221..7e4ae01c 100755 --- a/generate_config.sh +++ b/generate_config.sh @@ -11,7 +11,7 @@ if cp --help 2>&1 | grep -q -i "busybox"; then exit 1 fi -if [[ -f mailcow.conf ]]; then +if [ -f mailcow.conf ]; then read -r -p "A config file exists and will be overwritten, are you sure you want to contine? [y/N] " response case $response in [yY][eE][sS]|[yY]) @@ -23,31 +23,32 @@ if [[ -f mailcow.conf ]]; then esac fi +echo "Press enter to confirm the detected value '[value]' where applicable or enter a custom value." while [ -z "${MAILCOW_HOSTNAME}" ]; do read -p "Hostname (FQDN): " -e MAILCOW_HOSTNAME - [ -z "${MAILCOW_HOSTNAME}" ] && MAILCOW_HOSTNAME='mx.example.org' DOTS=${MAILCOW_HOSTNAME//[^.]}; - if [ ${#DOTS} -lt 2 ]; then + if [ ${#DOTS} -lt 2 ] && [ ! -z ${MAILCOW_HOSTNAME} ]; then echo "${MAILCOW_HOSTNAME} is not a FQDN" MAILCOW_HOSTNAME= fi done -if [[ -a /etc/timezone ]]; then - TZ=$(cat /etc/timezone) -elif [[ -a /etc/localtime ]]; then - TZ=$(readlink /etc/localtime|sed -n 's|^.*zoneinfo/||p') +if [ -a /etc/timezone ]; then + DETECTED_TZ=$(cat /etc/timezone) +elif [ -a /etc/localtime ]; then + DETECTED_TZ=$(readlink /etc/localtime|sed -n 's|^.*zoneinfo/||p') fi -if [ -z "$TZ" ]; then - read -p "Timezone: " -e MAILCOW_TZ - [ -z "${MAILCOW_TZ}" ] && MAILCOW_TZ='Europe/Berlin' -else - read -p "Timezone: " -e MAILCOW_TZ - [ -z "${MAILCOW_TZ}" ] && MAILCOW_TZ=${TZ} -fi +while [ -z "${MAILCOW_TZ}" ]; do + if [ -z "${DETECTED_TZ}" ]; then + read -p "Timezone: " -e MAILCOW_TZ + else + read -p "Timezone [${DETECTED_TZ}]: " -e MAILCOW_TZ + [ -z "${MAILCOW_TZ}" ] && MAILCOW_TZ=${DETECTED_TZ} + fi +done -[[ ! -f ./data/conf/rspamd/override.d/worker-controller-password.inc ]] && echo '# Placeholder' > ./data/conf/rspamd/override.d/worker-controller-password.inc +[ ! -f ./data/conf/rspamd/override.d/worker-controller-password.inc ] && echo '# Placeholder' > ./data/conf/rspamd/override.d/worker-controller-password.inc cat << EOF > mailcow.conf # ------------------------------ @@ -106,7 +107,6 @@ COMPOSE_PROJECT_NAME=mailcowdockerized # Additional SAN for the certificate ADDITIONAL_SAN= - # Skip running ACME (acme-mailcow, Let's Encrypt certs) - y/n SKIP_LETS_ENCRYPT=n