#!/bin/bash
#################################
### SQliteDatenbankSchematas  ###
### in Maridb Schreiben       ###  
### Erstellt von Theo Richter ###
### am 15.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
MariaDBPortStart="3000"
WebserverPortHTTPStart="8000"
WebserverPortHTTPSStart="8100"
PHPmyAdminPortStart="9000"
SVWSPortStart="10000"
SVWSVersion="latest"
Verzeichnissname="pc"
MariaDB_ROOT_PASSWORD="root"
PHPmyAdminName=""
WebserverName=""
AnzahlContainer=""
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}"
#
### ANFANG For Schleife fuer die Anzahl der Container #############################
for (( a=1; a<=$AnzahlContainer; a++ ))
do
##### Ports Hochzaehlen ##########################################################
MariaDBPort=$(($MariaDBPortStart + $a))
WebserverPortHTTP=$(($WebserverPortHTTPStart + $a))
WebserverPortHTTPS=$(($WebserverPortHTTPSStart + $a))
PHPmyAdminPort=$(($PHPmyAdminPortStart + $a))
SVWSPort=$(($SVWSPortStart + $a))
WebserverName="$Verzeichnissname-$a-webserver"
PHPmyAdminName="$Verzeichnissname-$a-PHPmyAdmin"
##### Ports Hochzaehlen ##########################################################
mkdir $Verzeichnissname-$a
cd $Verzeichnissname-$a
wget http://web.webolch.de/bauanleitung/downloads/linux/SH-Scripte/schulungs-schemata.sh
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 ..
#
docker compose up -d
#
echo
echo -e -n "${WEISS}### Stoppen der docker-container ${GELB}$Verzeichnissname-$a-PHPmyAdmin ${WEISS}und ${GELB}$Verzeichnissname-$a-webserver ${WEISS}### ${NC}" 
echo
docker stop $Verzeichnissname-$a-PHPmyAdmin 
docker stop $Verzeichnissname-$a-webserver 
echo
echo -e -n "${HELLGRUEN} OK ${NC}" 
echo
# 
echo
echo -e -n "${HELLGRUEN}SVWSPort=$SVWSPort ${NC}"
echo
################################################################################
### ANFANG For Schleife fuer die Datenbankschemata #############################
bash schulungs-schemata.sh
### ENDE For Schleife fuer die Datenbankschemata    ############################
################################################################################
cd /root
#ls -l
clear
echo
echo -e -n "${WEISS}### Stoppen der docker-container ${GELB}$Verzeichnissname-$a-mariadb-1 ${WEISS}und ${GELB}$Verzeichnissname-$a-svws-server-1${WEISS} ${WEISS}### ${NC}" 
echo
docker stop $Verzeichnissname-$a-mariadb-1
docker stop $Verzeichnissname-$a-svws-server-1 
echo
echo -e -n "${HELLGRUEN} OK ${NC}" 
echo
##
done
### ENDE For Schleife fuer die Anzahl der Container #############################