(simatec) Beta 0.8.0

This commit is contained in:
simatec 2023-01-17 13:35:20 +01:00
parent 21515e2eb3
commit de83ced596
2 changed files with 132 additions and 15 deletions

View file

@ -65,13 +65,8 @@ git clone https://github.com/simatec/piler-docker.git
cd /opt/piler-docker cd /opt/piler-docker
``` ```
* configure your Piler settings
``` * start the Install
nano piler.conf
```
* after config start the Install
``` ```
bash install-piler.sh bash install-piler.sh
@ -144,6 +139,9 @@ To leave the container on the console you have to execute 2x `exit`.
## Changelog ## Changelog
### 0.8.0 (17.01.2023)
* (simatec) Config-Menu for Installer added
### 0.7.0 (15.01.2023) ### 0.7.0 (15.01.2023)
* (simatec) New Volumes added * (simatec) New Volumes added
* (simatec) Fix Installer * (simatec) Fix Installer

View file

@ -49,6 +49,8 @@ BLA::stop_loading_animation() {
} }
####################################################################################### #######################################################################################
# Path-Settings
installPth="/opt/piler-docker" installPth="/opt/piler-docker"
configPth="/opt/piler-docker/config" configPth="/opt/piler-docker/config"
etcPth="/var/lib/docker/volumes/piler-docker_piler_etc/_data" etcPth="/var/lib/docker/volumes/piler-docker_piler_etc/_data"
@ -56,6 +58,132 @@ etcPth="/var/lib/docker/volumes/piler-docker_piler_etc/_data"
# Load config # Load config
. ./piler.conf . ./piler.conf
############################## Installer Settings #######################################
# Piler-Domain
read -ep "Please set your Piler-Domain (Enter for default: piler.example.com): " pilerDomain
pilerDomain=${pilerDomain:=piler.example.com}
sed -i 's/PILER_DOMAIN=.*/PILER_DOMAIN="'$pilerDomain'"/g' ./piler.conf
# Piler-Admin-Mail
read -ep "Please set your Mailserver Admin Mail (Enter for default: admin@example.com): " pilerAdminMail
pilerAdminMail=${pilerAdminMail:=admin@example.com}
sed -i 's/SUPPORT_MAIL=.*/SUPPORT_MAIL="'$pilerAdminMail'"/g' ./piler.conf
# retention Days
read -ep "Please set retention days (Enter for default: 2555 Days ~ 7 Years): " retentionDays
retentionDays=${retentionDays:=2555}
sed -i 's/DEFAULT_RETENTION_DAYS=.*/DEFAULT_RETENTION_DAYS="'$retentionDays'"/g' ./piler.conf
# Smarthost
read -ep "Please set your Smarthost (Enter for default: 127.0.0.1). Default settings can be used here!!: " pilerSmartHost
pilerSmartHost=${pilerSmartHost:=127.0.0.1}
sed -i 's/SMARTHOST=.*/SMARTHOST="'$pilerSmartHost'"/g' ./piler.conf
# IMAP Server
read -ep "Please set your IMAP Server (Enter for default: imap.example.com): " imapServer
imapServer=${imapServer:=imap.example.com}
sed -i 's/IMAP_SERVER=.*/IMAP_SERVER="'$imapServer'"/g' ./piler.conf
# Timezone
read -ep "Please set your Timezone (Enter for default: Europe/Berlin): " timeZone
timeZone=${timeZone:=Europe/Berlin}
timeZone="${timeZone////\\/}"
sed -i 's/TIME_ZONE=.*/TIME_ZONE="'$timeZone'"/g' ./piler.conf
# MySql Database
read -ep "Please set your MySql Database (Enter for default: piler): " pilerDataBase
pilerDataBase=${pilerDataBase:=piler}
sed -i 's/MYSQL_DATABASE=.*/MYSQL_DATABASE="'$pilerDataBase'"/g' ./piler.conf
# MySql User
read -ep "Please set your MySql User (Enter for default: piler): " pilerUser
pilerUser=${pilerUser:=piler}
sed -i 's/MYSQL_USER=.*/MYSQL_USER="'$pilerUser'"/g' ./piler.conf
# MySql Password
read -sp "Please set your MySql Password: " pilerPassword
pilerPassword=$pilerPassword
sed -i 's/MYSQL_PASSWORD=.*/MYSQL_PASSWORD="'$pilerPassword'"/g' ./piler.conf
echo
# use Let's Encrypt
while true; do
read -ep "Enabled / Disabled (yes/no) Let's Encrypt? For local Run disabled / Y|N: " jn
case $jn in
[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;;
* ) echo -e "${red} Please confirm with Y or N.";;
esac
done
# reload config
. ./piler.conf
# Let's Encrypt registration contact information
if [ "$USE_LETSENCRYPT" = "yes" ]; then
read -ep "Please set Let's Encrypt registration contact information (Enter for default: admin@example.com): " acmeContact
acmeContact=${acmeContact:=admin@example.com}
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: " 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
while true; do
read -ep "Postfix must be uninstalled prior to installation. Do you want to uninstall Postfix now? (y/n): " yn
case $yn in
[Yy]* ) apt purge postfix -y; break;;
[Nn]* ) echo -e "${redBold} The installation process is aborted because Postfix has not been uninstalled.!! ${normal}"; exit;;
* ) echo -e "${red} Please confirm with y or n.";;
esac
done
# start piler install
while true; do
read -ep "Do you want to start the Piler installation now? / Y|N: " yn
case $yn in
[Yy]* ) echo -e "${greenBold}Piler install started!! ${normal}"; break;;
[Nn]* ) echo -e "${redBold}Aborting the Piler installation!! ${normal}"; exit;;
* ) echo -e "${red} Please confirm with Y or N.";;
esac
done
#########################################################################################
# reload config
. ./piler.conf
if [ ! -f $installPth/.env ]; then if [ ! -f $installPth/.env ]; then
ln -s ./piler.conf .env ln -s ./piler.conf .env
fi fi
@ -70,15 +198,6 @@ else
cp $configPth/piler-default.yml $installPth/docker-compose.yml cp $configPth/piler-default.yml $installPth/docker-compose.yml
fi fi
while true; do
read -ep "Postfix must be uninstalled prior to installation. Do you want to uninstall Postfix now? (y/n): " yn
case $yn in
[Yy]* ) apt purge postfix -y; break;;
[Nn]* ) echo -e "${redBold} The installation process is aborted because Postfix has not been uninstalled.!! ${normal}"; exit;;
* ) echo -e "${red} Please confirm with y or n.";;
esac
done
# old docker stop # old docker stop
cd $installPth cd $installPth
docker-compose down docker-compose down