theia-vpn/wrapper.sh

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