2025-03-25 19:28:02 +01:00

121 lines
3.9 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
fi
exists=$(grep -i "alias clidmanager='sudo clidmanager'" ~/.bashrc)
if [ $? -ne 0 ]
then
echo "alias clidmanager='sudo clidmanager'" >> ~/.bashrc
fi
exists=$(grep -i "alias dw='source docker_work'" ~/.bashrc)
if [ $? -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/
if [ -z $isgroup ]
then
sudo usermod -aG docker $USER
fi
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..."
fi
}
remove() {
sudo rm -f /usr/local/bin/clidmanager /usr/local/bin/docker_work && sudo rm /etc/sudoers.d/no_pwd_clidmanager
if [ $? -ne 0 ]
then
exit 0
else
sudo usermod -rG docker $USER
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
echo
echo "clidmanager deintalliert."
echo
read -p "Enter zum beenden drücken..."
fi
}
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
fi
fi