(simatec) Beta 0.8.0

This commit is contained in:
simatec 2023-01-17 13:55:19 +01:00
parent de83ced596
commit 5a554c7ae5

View file

@ -60,105 +60,110 @@ etcPth="/var/lib/docker/volumes/piler-docker_piler_etc/_data"
############################## Installer Settings ####################################### ############################## Installer Settings #######################################
# Piler-Domain if [ ! -f $installPth/.configDone ]; then
read -ep "Please set your Piler-Domain (Enter for default: piler.example.com): " pilerDomain # Piler-Domain
pilerDomain=${pilerDomain:=piler.example.com} read -ep "Please set your Piler-Domain (Enter for default: $PILER_DOMAIN): " pilerDomain
sed -i 's/PILER_DOMAIN=.*/PILER_DOMAIN="'$pilerDomain'"/g' ./piler.conf pilerDomain=${pilerDomain:=$PILER_DOMAIN}
sed -i 's/PILER_DOMAIN=.*/PILER_DOMAIN="'$pilerDomain'"/g' ./piler.conf
# Piler-Admin-Mail # Piler-Admin-Mail
read -ep "Please set your Mailserver Admin Mail (Enter for default: admin@example.com): " pilerAdminMail read -ep "Please set your Mailserver Admin Mail (Enter for default: $SUPPORT_MAIL): " pilerAdminMail
pilerAdminMail=${pilerAdminMail:=admin@example.com} pilerAdminMail=${pilerAdminMail:=$SUPPORT_MAIL}
sed -i 's/SUPPORT_MAIL=.*/SUPPORT_MAIL="'$pilerAdminMail'"/g' ./piler.conf sed -i 's/SUPPORT_MAIL=.*/SUPPORT_MAIL="'$pilerAdminMail'"/g' ./piler.conf
# retention Days # retention Days
read -ep "Please set retention days (Enter for default: 2555 Days ~ 7 Years): " retentionDays read -ep "Please set retention days (Enter for default: $DEFAULT_RETENTION_DAYS Days): " retentionDays
retentionDays=${retentionDays:=2555} retentionDays=${retentionDays:=$DEFAULT_RETENTION_DAYS Days}
sed -i 's/DEFAULT_RETENTION_DAYS=.*/DEFAULT_RETENTION_DAYS="'$retentionDays'"/g' ./piler.conf sed -i 's/DEFAULT_RETENTION_DAYS=.*/DEFAULT_RETENTION_DAYS="'$retentionDays'"/g' ./piler.conf
# Smarthost # Smarthost
read -ep "Please set your Smarthost (Enter for default: 127.0.0.1). Default settings can be used here!!: " pilerSmartHost read -ep "Please set your Smarthost (Enter for default: $SMARTHOST). Default settings can be used here!!: " pilerSmartHost
pilerSmartHost=${pilerSmartHost:=127.0.0.1} pilerSmartHost=${pilerSmartHost:=$SMARTHOST}
sed -i 's/SMARTHOST=.*/SMARTHOST="'$pilerSmartHost'"/g' ./piler.conf sed -i 's/SMARTHOST=.*/SMARTHOST="'$pilerSmartHost'"/g' ./piler.conf
# IMAP Server # IMAP Server
read -ep "Please set your IMAP Server (Enter for default: imap.example.com): " imapServer read -ep "Please set your IMAP Server (Enter for default: $IMAP_SERVER): " imapServer
imapServer=${imapServer:=imap.example.com} imapServer=${imapServer:=$IMAP_SERVER}
sed -i 's/IMAP_SERVER=.*/IMAP_SERVER="'$imapServer'"/g' ./piler.conf sed -i 's/IMAP_SERVER=.*/IMAP_SERVER="'$imapServer'"/g' ./piler.conf
# Timezone # Timezone
read -ep "Please set your Timezone (Enter for default: Europe/Berlin): " timeZone read -ep "Please set your Timezone (Enter for default: $TIME_ZONE): " timeZone
timeZone=${timeZone:=Europe/Berlin} timeZone=${timeZone:=$TIME_ZONE}
timeZone="${timeZone////\\/}" timeZone="${timeZone////\\/}"
sed -i 's/TIME_ZONE=.*/TIME_ZONE="'$timeZone'"/g' ./piler.conf sed -i 's/TIME_ZONE=.*/TIME_ZONE="'$timeZone'"/g' ./piler.conf
# MySql Database # MySql Database
read -ep "Please set your MySql Database (Enter for default: piler): " pilerDataBase read -ep "Please set your MySql Database (Enter for default: $MYSQL_DATABASE): " pilerDataBase
pilerDataBase=${pilerDataBase:=piler} pilerDataBase=${pilerDataBase:=$MYSQL_DATABASE}
sed -i 's/MYSQL_DATABASE=.*/MYSQL_DATABASE="'$pilerDataBase'"/g' ./piler.conf sed -i 's/MYSQL_DATABASE=.*/MYSQL_DATABASE="'$pilerDataBase'"/g' ./piler.conf
# MySql User # MySql User
read -ep "Please set your MySql User (Enter for default: piler): " pilerUser read -ep "Please set your MySql User (Enter for default: $MYSQL_USER): " pilerUser
pilerUser=${pilerUser:=piler} pilerUser=${pilerUser:=$MYSQL_USER}
sed -i 's/MYSQL_USER=.*/MYSQL_USER="'$pilerUser'"/g' ./piler.conf sed -i 's/MYSQL_USER=.*/MYSQL_USER="'$pilerUser'"/g' ./piler.conf
# MySql Password # MySql Password
read -sp "Please set your MySql Password: " pilerPassword read -sp "Please set your MySql Password: " pilerPassword
pilerPassword=$pilerPassword pilerPassword=$pilerPassword
sed -i 's/MYSQL_PASSWORD=.*/MYSQL_PASSWORD="'$pilerPassword'"/g' ./piler.conf sed -i 's/MYSQL_PASSWORD=.*/MYSQL_PASSWORD="'$pilerPassword'"/g' ./piler.conf
echo echo
# use Let's Encrypt # use Let's Encrypt
while true; do while true; do
read -ep "Enabled / Disabled (yes/no) Let's Encrypt? For local Run disabled / Y|N: " jn read -ep "Enabled / Disabled (yes/no) Let's Encrypt? For local Run disabled / Y|N: " jn
case $jn in case $jn in
[Yy]* ) sed -i 's/USE_LETSENCRYPT=.*/USE_LETSENCRYPT="yes"/g' ./piler.conf; break;; [Yy]* ) sed -i 's/USE_LETSENCRYPT=.*/USE_LETSENCRYPT="yes"/g' ./piler.conf; break;;
[Nn]* ) sed -i 's/USE_LETSENCRYPT=.*/USE_LETSENCRYPT="no"/g' ./piler.conf; break;; [Nn]* ) sed -i 's/USE_LETSENCRYPT=.*/USE_LETSENCRYPT="no"/g' ./piler.conf; break;;
* ) echo -e "${red} Please confirm with Y or N.";; * ) echo -e "${red} Please confirm with Y or N.";;
esac esac
done done
# reload config # reload config
. ./piler.conf . ./piler.conf
# Let's Encrypt registration contact information # Let's Encrypt registration contact information
if [ "$USE_LETSENCRYPT" = "yes" ]; then if [ "$USE_LETSENCRYPT" = "yes" ]; then
read -ep "Please set Let's Encrypt registration contact information (Enter for default: admin@example.com): " acmeContact read -ep "Please set Let's Encrypt registration contact information (Enter for default: $LETSENCRYPT_EMAIL): " acmeContact
acmeContact=${acmeContact:=admin@example.com} acmeContact=${acmeContact:=$LETSENCRYPT_EMAIL}
sed -i 's/LETSENCRYPT_EMAIL=.*/LETSENCRYPT_EMAIL="'$acmeContact'"/g' ./piler.conf sed -i 's/LETSENCRYPT_EMAIL=.*/LETSENCRYPT_EMAIL="'$acmeContact'"/g' ./piler.conf
fi
# use Mailcow
while true; do
read -ep "If Use Mailcow API Options (yes/no)? / Y|N: " jn
case $jn in
[Yy]* ) sed -i 's/USE_MAILCOW=.*/USE_MAILCOW=true/g' ./piler.conf; break;;
[Nn]* ) sed -i 's/USE_MAILCOW=.*/USE_MAILCOW=false/g' ./piler.conf; break;;
* ) echo -e "${red} Please confirm with Y or N.";;
esac
done
# reload config
. ./piler.conf
if [ "$USE_MAILCOW" = true ]; then
# Mailcow API-Key
read -ep "Please set your Mailcow API-Key (current: $MAILCOW_APIKEY): " apiKey
apiKey=${apiKey:=$MAILCOW_APIKEY}
sed -i 's/MAILCOW_APIKEY=.*/MAILCOW_APIKEY="'$apiKey'"/g' ./piler.conf
# Mailcow Host Domain
read -ep "Please set your Mailcow Host Domain (Enter for default: $imapServer): " mailcowHost
mailcowHost=${mailcowHost:=$imapServer}
sed -i 's/MAILCOW_HOST=.*/MAILCOW_HOST="'$mailcowHost'"/g' ./piler.conf
fi
echo
echo "${blue}${HLINE}"
echo "All settings were saved in the piler.conf file"
echo "and can be adjusted there at any time."
echo "${blue}${HLINE}${normal}"
echo
# config done
touch $installPth/.configDone
fi fi
# use Mailcow
while true; do
read -ep "If Use Mailcow API Options (yes/no)? / Y|N: " jn
case $jn in
[Yy]* ) sed -i 's/USE_MAILCOW=.*/USE_MAILCOW=true/g' ./piler.conf; break;;
[Nn]* ) sed -i 's/USE_MAILCOW=.*/USE_MAILCOW=false/g' ./piler.conf; break;;
* ) echo -e "${red} Please confirm with Y or N.";;
esac
done
# reload config
. ./piler.conf
if [ "$USE_MAILCOW" = true ]; then
# Mailcow API-Key
read -ep "Please set your Mailcow API-Key: " apiKey
apiKey=$apiKey
sed -i 's/MAILCOW_APIKEY=.*/MAILCOW_APIKEY="'$apiKey'"/g' ./piler.conf
# Mailcow Host Domain
read -ep "Please set your Mailcow Host Domain (Enter for default: $imapServer): " mailcowHost
mailcowHost=${mailcowHost:=$imapServer}
sed -i 's/MAILCOW_HOST=.*/MAILCOW_HOST="'$mailcowHost'"/g' ./piler.conf
fi
echo
echo "${blue}${HLINE}"
echo "All settings were saved in the piler.conf file"
echo "and can be adjusted there at any time."
echo "${blue}${HLINE}${normal}"
echo
# uninstall Postfix # uninstall Postfix
while true; do while true; do
read -ep "Postfix must be uninstalled prior to installation. Do you want to uninstall Postfix now? (y/n): " yn read -ep "Postfix must be uninstalled prior to installation. Do you want to uninstall Postfix now? (y/n): " yn