51 lines
1.7 KiB
Bash
51 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
###### Seules variables à modifier ######
|
|
export GIREF_HOSTNAME=votre_machine
|
|
export VOLUMES=les_dossier_a_monter:separes_par:deux_points
|
|
export VPN_USER=votre_idul
|
|
export USER_ID=id_user_giref
|
|
export GROUPE_ID=id_groupe
|
|
##########################################
|
|
|
|
######### Ne pas éditer le reste #########
|
|
command -v docker-compose >/dev/null 2>&1 || { echo >&2 "L'outil docker-compose n'est pas présent, cf https://docs.docker.com/compose/install/"; exit 1;}
|
|
|
|
editeCompose() {
|
|
if [ ! -f docker-compose-template.yml ]; then
|
|
echo "Erreur, fichier docker-compose-template.yml introuvable, l'avez-vous supprimer ?"
|
|
else
|
|
cp -f docker-compose-template.yml docker-compose.yml
|
|
IFS=':' arrVOLUMES=($VOLUMES); unset IFS
|
|
for i in "${arrVOLUMES[@]}"
|
|
do
|
|
v=" - \"$i:/home/project/$(basename $i):cached\""
|
|
sed -i "/VOLUMES_WRAPPER/a\ $v" docker-compose.yml
|
|
done
|
|
sed -i "/VOLUMES_WRAPPER/d" docker-compose.yml
|
|
fi
|
|
}
|
|
|
|
export VPN_SERVER=vpn.ulaval.ca
|
|
if [ "$1" == "up" ]; then
|
|
editeCompose
|
|
echo "Veuillez rentrer votre mot de passe pour ${VPN_SERVER} :"
|
|
read -s password
|
|
export VPN_PASSWORD=$password
|
|
docker-compose up -d
|
|
echo -e "Vous pouvez vous connecter à \e[94mhttp://${GIREF_HOSTNAME}/theia/\e[39m (Attention, le / à la fin est important)"
|
|
elif [ "$1" == "down" ]; then
|
|
editeCompose
|
|
echo "Arrêt de theia..."
|
|
export VPN_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
|
|
docker-compose down
|
|
elif [ "$1" == "build" ]; then
|
|
editeCompose
|
|
export VPN_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
|
|
docker-compose build theia
|
|
else
|
|
echo "Le script doit prendre un des arguments suivants: up, down, build"
|
|
fi
|
|
|
|
|