| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | #!/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}# Fixed project nameCOMPOSE_PROJECT_NAME=mailcow-dockerized# Additional SAN for the certificateADDITIONAL_SAN=# To never run acme-mailcow for Let's Encrypt, set this to ySKIP_LETS_ENCRYPT=nEOFmkdir -p data/assets/ssl# copy but don't overwrite existing certificatecp -n data/assets/ssl-example/*.pem data/assets/ssl/
 |