115 lines
3.8 KiB
Bash
Executable File

#!/bin/bash
########################################################
########################################################
# installer for simple management a docker container ##
# Author: Désiré Werner Menrath ##
# Email: polunga40@unity-mail.de ##
# Translate German to English with LibreTranslate ##
# Translatefiles edit with Poedit ##
# Use without warranty! ##
########################################################
########################################################
Encoding=UTF-8
# i18n - Internationalization - Internationalisierung
export TEXTDOMAIN=clidmanager
export TEXTDOMAINDIR="/usr/share/locale"
############################################################################################################
############################################################################################################
isgroup=$(cat /etc/group | grep docker)
install() {
exists=$(grep -i "alias dm='sudo clidmanager'" ~/.bashrc)
if [ $? -ne 0 ]
then
echo "alias dm='sudo clidmanager'" >> ~/.bashrc
exists=$(grep -i "alias clidmanager='sudo clidmanager'" ~/.bashrc)
elif [ $? -ne 0 ]
then
echo "alias clidmanager='sudo clidmanager'" >> ~/.bashrc
exists=$(grep -i "alias dw='source docker_work'" ~/.bashrc)
elif [ $? -ne 0 ]
then
echo "alias dw='source docker_work'" >> ~/.bashrc
fi
echo "$USER ALL = NOPASSWD:/usr/local/bin/clidmanager" > no_pwd_clidmanager
sudo chown 0:0 no_pwd_clidmanager
if [ $? -ne 0 ]
then
sed -i -e /"alias dm='sudo clidmanager'"/d ~/.bashrc && \
sed -i -e /"alias clidmanager='sudo clidmanager'"/d ~/.bashrc && \
sed -i -e /"alias dw='source docker_work'"/d ~/.bashrc
rm no_pwd_clidmanager
exit 0
else
sudo cp -f clidmanager docker_work /usr/local/bin/ && sudo mv no_pwd_clidmanager /etc/sudoers.d/
echo
echo "clidmanager intalliert."
echo
echo "Es wurden aliase angelegt..."
echo
echo "Bei der nächten anmeldung können sie clidmanager"
echo
echo "entweder über clidmanager oder über dm aufrufen."
echo
read -p "Enter zum beenden drücken..."
}
remove() {
sed -i -e /"alias dm='sudo clidmanager'"/d ~/.bashrc && \
sed -i -e /"alias clidmanager='sudo clidmanager'"/d ~/.bashrc && \
sed -i -e /"alias dw='source docker_work'"/d ~/.bashrc
sudo rm -f /usr/local/bin/clidmanager docker_work && sudo rm /etc/sudoers.d/no_pwd_clidmanager
sudo usermod -rG docker $USER
echo
echo "clidmanager deintalliert."
echo
read -p "Enter zum beenden drücken..."
}
which clidmanager >/dev/null
if [ $? -eq 0 ]
then
echo "Möchten sie updaten/reinstallieren oder clidmanager deinstallieren?"
echo
read -n 1 -s -r -p "Update/reinstall: y drücken, deinstallieren r drücken" result
echo
echo "Abbruch mit jeder anderen Taste..."
case $result in
[y]* ) clear; install; exit;;
[Y]* ) clear; install; exit;;
[j]* ) clear; install; exit;;
[J]* ) clear; install; exit;;
[r]* ) clear; remove; exit;;
[R]* ) clear; remove; exit;;
esac
else
docker compose version >/dev/null 2>&1
if [ $? -ne 0 ]
then
echo "Docker Compose wird für die verwendung von clidmanager benötigt."
echo "Bitte das Paket docker compose installieren."
read -p "Zum beenden Enter drücken"
exit 0
else
install
if [ -z $isgroup ]
then
sudo usermod -aG docker $USER
fi
fi
fi