#!/bin/bash #1 : action = default up #2 : service = optionnel # Fusionner l'ensemble des fichier .env en un seul rm -f ./.env.local cat ./env/.env* >> ./.env.local # Include . ./misc/tools/e-ihm.sh . ./env/.env . ./env/.env.local # Start script clear BigTitle "ENVOLE" #=========================================================================================================================================== #== STOP =================================================================================================================================== #=========================================================================================================================================== #1 = service to stop if null all service stop() { Title "STOP" docker-compose stop $1 } #=========================================================================================================================================== #== UPSERVICE ============================================================================================================================== #=========================================================================================================================================== #1 = service to up wait_for_container() { container_id="envole-$1" container_name="$(docker inspect "${container_id}" --format '{{ .Name }}')" waiting_done="false" while [[ "${waiting_done}" != "true" ]]; do container_state="$(docker inspect "${container_id}" --format '{{ .State.Status }}')" if [[ "${container_state}" == "running" ]]; then health_status="$(docker inspect "${container_id}" --format '{{ .State.Health.Status }}')" if [[ ${health_status} == "healthy" ]]; then waiting_done="true" fi else waiting_done="true" fi sleep 1; done; } upservice(){ docker-compose up -d $1 wait_for_container $1 } #=========================================================================================================================================== #== UP ===================================================================================================================================== #=========================================================================================================================================== #1 = service to up if null all service up(){ # Stop du ou des services stop $1 # MARIADB Title "MARIADB" upservice $MARIADB_SERVICE_NAME echo # CREATE BDD if [[ $CAS_ACTIVATE == 1 && $CAS_LOCAL == 1 ]] then EchoVert ${CAS_SERVICE_NAME^^} docker-compose exec $MARIADB_SERVICE_NAME /envole/init.sh $CAS_SERVICE_NAME fi if [[ $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]] then EchoVert ${NINEGATE_SERVICE_NAME^^} docker-compose exec $MARIADB_SERVICE_NAME /envole/init.sh $NINEGATE_SERVICE_NAME fi if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]] then EchoVert ${NEXTCLOUD_SERVICE_NAME^^} docker-compose exec $MARIADB_SERVICE_NAME /envole/init.sh $NEXTCLOUD_SERVICE_NAME fi # OPENLDAP if [[ $LDAP_ACTIVATE == 1 && $LDAP_LOCAL == 1 ]] then Title ${LDAP_SERVICE_NAME^^} mkdir -p ./volume/openldap/data chmod a+wr ./volume/openldap/data upservice $LDAP_SERVICE_NAME docker-compose exec $LDAP_SERVICE_NAME /envole/init.sh fi # CAS if [[ $CAS_ACTIVATE == 1 && $CAS_LOCAL == 1 ]] then Title ${CAS_SERVICE_NAME^^} upservice $CAS_SERVICE_NAME fi # SERVICES Title "UP" if [[ -z "$1" ]] then if [[ $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]] then EchoVert ${NINEGATE_SERVICE_NAME^^} upservice ${NINEGATE_SERVICE_NAME} echo fi if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]] then ctrlUpdate ${NEXTCLOUD_SERVICE_NAME} EchoVert ${NEXTCLOUD_SERVICE_NAME^^} upservice ${NEXTCLOUD_SERVICE_NAME} echo fi if [[ $ADMINER_ACTIVATE == 1 && $ADMINER_LOCAL == 1 ]] then EchoVert ${ADMINER_SERVICE_NAME^^} docker-compose up -d ${ADMINER_SERVICE_NAME} echo fi if [[ $PHPLDAPADMIN_ACTIVATE == 1 && $PHPLDAPADMIN_LOCAL == 1 ]] then EchoVert ${PHPLDAPADMIN_SERVICE_NAME^^} docker-compose up -d ${PHPLDAPADMIN_SERVICE_NAME} echo fi else EchoVert ${1^^} docker-compose up -d $1 fi } #=========================================================================================================================================== #== MAIN =================================================================================================================================== #=========================================================================================================================================== if [[ $1 == "up" || $1 == "" ]] then up $2 elif [[ $1 == "stop" ]] then stop $2 elif [[ $1 == "bash" ]] then if [[ -z $2 ]] then EchoRouge "Vous devez precisez un service" EchoRouge "envole.sh bash monservice" else docker-compose exec $2 "/bin/bash" fi elif [[ $1 == "destroy" ]] then if [[ -z $2 ]] then EchoRouge "Vous devez precisez un service" EchoRouge "envole.sh bash monservice" else docker-compose stop $2 docker-compose rm $2 if [[ "$2" == "$LDAP_SERVICE_NAME" && $LDAP_ACTIVATE == 1 && $LDAP_LOCAL == 1 ]] then sudo rm -rf volume/openldap/data mkdir volume/openldap/data chmod a+w volume/openldap/data -R chmod a+r volume/openldap/data -R fi if [[ "$2" == "$CAS_SERVICE_NAME" && $CAS_ACTIVATE == 1 && $CAS_LOCAL == 1 ]] then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $2 ?" if [ "$?" = 0 ] then docker-compose exec $MARIADB_SERVICE_NAME /envole/delete.sh $CAS_SERVICE_NAME fi fi fi elif [[ $1 == "env" ]] then rm -f ./.env.local cat ./env/.env* >> ./.env.local fi echo echo