#!/bin/bash
#
if [[ $EUID -ne 0 ]]; then
   echo "Dieses Skript muss als root im root-Verzeihniss ausgefuehrt werden!"
   exit 1
fi
#
#################################
# Docker fuer mehrere Container #
### Test Datenbankschematas   ###
### Fuer alle Schulformen     ###
### Webserver, SVWS-Server    ###
### mariadb, phpmyadmin       ###  
### Erstellt von Theo Richter ###
### am 17.10.2024     (c)     ###
#################################
### Farbdefinitionen ####
#   TEXT in Weiss       #
#   DATEIEN in Gelb     #
#   ORDNER in HellBlau  #
#########################
# Farbdefinitionen zur Ausgabe #
ROT='\033[0;31m' 
HELLROT='\033[1;31m'
GRUEN='\033[0;32m'
HELLGRUEN='\033[1;32m'
GELB='\033[1;33m'
BLAU='\033[0;34m'
HELLBLAU='\033[1;34m'
LILA='\033[0;35m'
HELLLILA='\033[1;35m'
DUNKELESTUERKIS='\033[0;36m'
TUERKIS='\033[1;36m'
HELLGRAU='\033[0;37m'
WEISS='\033[1;37m'
NC='\033[0m' # No Color
#
## [Variablen]
##
#
MariaDBPortStart="3000"
WebserverPortHTTPStart="8000"
WebserverPortHTTPSStart="8100"
PHPmyAdminPortStart="9000"
SVWSPortStart="10000"
SVWSVersion="1.0.0"
Verzeichnissname="pc"
MariaDB_ROOT_PASSWORD="root"
PHPmyAdminName=""
WebserverName=""
AnzahlContainer="2"
#
##
## Anzahl der Docker-Container
##
#
echo
echo -e -n "${TUERKIS}Anzahl der Docker Container Eingeben! ${NC}"
echo
if [ -z "${AnzahlContainer}" ]; then
      read -p "Hier BITTE die Anzahl der docker container (z.B. 2) Eingeben: " AnzahlContainer
fi
echo
echo -e -n "${HELLBLAU}Anzahl DOCKER Container=$AnzahlContainer ${NC}"
#
for (( a=1; a<=$AnzahlContainer; a++ ))
do
##### Ports Hochzaehlen ######
MariaDBPort=$(($MariaDBPortStart + $a))
WebserverPortHTTP=$(($WebserverPortHTTPStart + $a))
WebserverPortHTTPS=$(($WebserverPortHTTPSStart + $a))
PHPmyAdminPort=$(($PHPmyAdminPortStart + $a))
SVWSPort=$(($SVWSPortStart + $a))
echo
echo -e -n "${HELLLILA}MariaDBPort=$MariaDBPort ${NC}"
echo
echo -e -n "${HELLBLAU}WebserverPortHTTP=$WebserverPortHTTP ${NC}"
echo
echo -e -n "${HELLLILA}WebserverPortHTTPS=$WebserverPortHTTPS ${NC}"
echo
echo -e -n "${HELLBLAU}PHPmyAdminPort=$PHPmyAdminPort ${NC}"
echo
echo -e -n "${HELLLILA}SVWSPort=$SVWSPort ${NC}"
echo
#
##
## [Argumente auslesen]
##
#
####if [ -z "${Verzeichnissname}" ]; then
####      read -p "Hier BITTE den Verzeichnissname Eingeben: " Verzeichnissname
####fi
####echo -e -n "${HELLROT}Verzeichnissname=$Verzeichnissname ${NC}"
####echo
WebserverName="$Verzeichnissname-$a-webserver"
PHPmyAdminName="$Verzeichnissname-$a-PHPmyAdmin"
echo
if [ -z "${MariaDB_ROOT_PASSWORD}" ]; then
      read -p "Hier das MariaDB_ROOT_PASSWORD Eingeben UND AUFSCHREIBEN NICHT VERGESSEN!!!!!: " MariaDB_ROOT_PASSWORD
fi
echo -e -n "${HELLROT}MariaDB_ROOT_PASSWORD=$MariaDB_ROOT_PASSWORD ${NC}"
echo
###if [ -z "${SVWSVersion}" ]; then
###      read -p "Hier den SVWSVersion (z.B. 0.9.4) Eingeben: " SVWSVersion
###fi
###echo -e -n "${HELLGREEN}SVWSVersion=$SVWSVersion ${NC}"
##echo
mkdir $Verzeichnissname-$a
cd $Verzeichnissname-$a
wget http://web.webolch.de/bauanleitung/downloads/linux/zip/docker-compose.zip
unzip docker-compose.zip
rm docker-compose.zip 
ls -l
sleep 3
####################################################################
### Wird benoetigt um die Ports im docker-compos.yml zu Aendern. ###
####################################################################
### MariaDBPort                                                  ###
sed -i 's/00001/'$MariaDBPort'/g' docker-compose.yml             ###
### MariaDB root Passwort                                        ###
sed -i 's/leer/'$MariaDB_ROOT_PASSWORD'/g' .env                  ###
### WebserverName                                                ###
sed -i 's/WebserverName/'$WebserverName'/g' docker-compose.yml   ###
### WebserverPortHTTP                                            ###
sed -i 's/00002/'$WebserverPortHTTP'/g' docker-compose.yml       ###
### WebserverPortHTTPS                                           ###
sed -i 's/00003/'$WebserverPortHTTPS'/g' docker-compose.yml      ###
### PHPmyAdminName                                               ###
sed -i 's/PHPmyAdminName/'$PHPmyAdminName'/g' docker-compose.yml ###
### PHPmyAdminPort                                               ###
sed -i 's/00004/'$PHPmyAdminPort'/g' docker-compose.yml          ###
### SVWSVersion                                                  ###
sed -i 's/latest/'$SVWSVersion'/g' docker-compose.yml            ###
### SVWSPort                                                     ###
sed -i 's/00005/'$SVWSPort'/g' docker-compose.yml                ###
####################################################################
#
##cd www
##wget https://github.com/SVWS-NRW/SVWS-Server/releases/download/v$SVWSVersion/SVWS-Laufbahnplanung-$SVWSVersion.zip
##unzip SVWS-Laufbahnplanung-$SVWSVersion.zip
##rm SVWS-Laufbahnplanung-$SVWSVersion.zip
##ls -l
##exit N
##sleep 3
##cd ..
##ls -l
sleep 3
#
#
### Der Container wir Installiert!!###
#
echo
echo -e -n "${HELLLILA}Der Container mit Namen: $Verzeichnissname wird mit dem Befehl${HELLGRUEN} docker compose up -d ${HELLLILA} Installiert!! ${NC}"
echo
docker compose up -d
#
echo
echo -e -n "${HELLGRUEN}SVWSPort=$SVWSPort ${NC}"
echo
echo -e -n "${HELLROT}MYSQLROOTPW=$MariaDB_ROOT_PASSWORD ${NC}"
echo
echo -e -n "${HELLBLAU}MariaDBPort=$MariaDBPort ${NC}"
echo
########################
wget http://web.webolch.de/bauanleitung/downloads/linux/SH-Scripte/schulungs-schemata.sh
bash schulungs-schemata.sh 
########################
####rm schulungs-schemata.sh 
SCHULFORM=""
Verzeichnissname=""
SVWSVersion=""
###MariaDB_ROOT_PASSWORD=""
MariadbPort=""
#################################################################################################
cd ..
ls -l
###echo "SCHULFORM=$SCHULFORM; Verzeichnissname=$Verzeichnissname; SVWSVersion=$SVWSVersion"
sleep 3
#################################################################################################
done
echo
echo -e -n "${HELLROT}Alles FERTIG!!! ${NC}"
echo