#!/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