| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | #!/bin/bashif [[ -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])      mv mailcow.conf mailcow.conf_backup      ;;    *)      exit 1    ;;  esacfiif [ -z "$MAILCOW_HOSTNAME" ]; then  read -p "Hostname (FQDN): " -ei "mx.example.org" MAILCOW_HOSTNAMEfi[[ -a /etc/timezone ]] && TZ=$(cat /etc/timezone)if [ -z "$TZ" ]; then  read -p "Timezone: " -ei "Europe/Berlin" TZelse  read -p "Timezone: " -ei ${TZ} TZficat << EOF > mailcow.conf# ------------------------------# mailcow web ui configuration# ------------------------------# example.org is _not_ a valid hostname, use a fqdn here.# Default admin user is "admin"# Default password is "moohoo"MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME}# ------------------------------# SQL database configuration# ------------------------------DBNAME=mailcowDBUSER=mailcow# Please use long, random alphanumeric strings (A-Za-z0-9)DBPASS=$(</dev/urandom tr -dc A-Za-z0-9 | head -c 28)DBROOT=$(</dev/urandom tr -dc A-Za-z0-9 | head -c 28)# ------------------------------# HTTP/S Bindings# ------------------------------# You should use HTTPS, but in case of SSL offloaded reverse proxies:HTTP_PORT=80HTTP_BIND=0.0.0.0HTTPS_PORT=443HTTPS_BIND=0.0.0.0# ------------------------------# Other bindings# ------------------------------# You should leave that alone# Format: 11.22.33.44:25 or 0.0.0.0:465 etc.# Do _not_ use IP:PORT in HTTPS_BIND or HTTPS_PORTSMTP_PORT=25SMTPS_PORT=465SUBMISSION_PORT=587IMAP_PORT=143IMAPS_PORT=993POP_PORT=110POPS_PORT=995SIEVE_PORT=4190# Your timezoneTZ=${TZ}EOF
 |