theia-vpn/docker-entrypoint.sh

41 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Connection au VPN de l'Université Laval
( echo $ANYCONNECT_PASSWORD ) | openconnect $ANYCONNECT_SERVER --user=$ANYCONNECT_USER --timestamp &
id_node=$(id -u node)
if [ $id_node != ${USER_ID} ]; then
if [ -z ${GROUPE_ID} ]; then
echo "Création de l'utilisateur giref avec uid=${USER_ID}"
adduser -u ${USER_ID} -h /home/giref/ -s /bin/bash -D giref
else
echo "Création de l'utilisateur giref avec uid=${USER_ID} dans le groupe giref avec gid=${GROUPE_ID}"
addgroup -g ${GROUPE_ID} giref
adduser -u ${USER_ID} -G giref -h /home/giref/ -s /bin/bash -D giref
fi
user=giref
else
user=node
echo "Votre USER_ID correspond à celui de l'utilisateur node, on utilise donc l'utilisateur node"
fi
# Si l'utilisateur monte son répertoire .ssh dans le répertoire /home/.ssh du conteneur, alors on
# copie automatiquement les clefs pour l'utilisateur crée auparavant
if [ -d /home/.ssh ]; then
echo "Copie des clefs SSH et ajout des bonnes permissions..."
cp -r /home/.ssh /home/$user/.ssh
chown -R $user:$user /home/$user/.ssh
fi
# settings pour theia
if [ -f /settings.json ]; then
mkdir -p /home/$user/.theia
cp /settings.json /home/$user/.theia
chown -R $user:$user /home/$user/.theia
fi
# Enfin, reprend le entrypoint donné ici : https://github.com/theia-ide/theia-apps/blob/master/theia-docker/Dockerfile
echo "Lancement de theia..."
su $user bash -c "/usr/local/bin/node /home/theia/src-gen/backend/main.js /home/project --hostname=0.0.0.0"