#!/bin/bash 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]) mv mailcow.conf mailcow.conf_backup ;; *) exit 1 ;; esac fi read -p "Hostname (FQDN): " -ei "mx.example.org" MAILCOW_HOSTNAME read -p "Timezone: " -ei "Europe/Berlin" TZ cat << 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=mailcow DBUSER=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) # ------------------------------ # Misc configuration # ------------------------------ # You should leave that alone # Can also be 11.22.33.44:25 or 0.0.0.0:465 etc. for specific bindings SMTP_PORT=25 SMTPS_PORT=465 SUBMISSION_PORT=587 IMAP_PORT=143 IMAPS_PORT=993 POP_PORT=110 POPS_PORT=995 SIEVE_PORT=4190 # Your timezone TZ=${TZ} EOF