2025-03-26 22:18:14 +01:00

147 lines
5.0 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() {
dm=$(grep -i "alias dm='sudo clidmanager'" ~/.bashrc)
if [ $? -ne 0 ]
then
echo "alias dm='sudo clidmanager'" >> ~/.bashrc
echo "Alias dm angelegt... 15%"
sleep 0.8
fi
cdm=$(grep -i "alias clidmanager='sudo clidmanager'" ~/.bashrc)
if [ $? -ne 0 ]
then
echo "alias clidmanager='sudo clidmanager'" >> ~/.bashrc
echo "Alias clidmanager angelegt... 30%"
sleep 0.8
fi
dw=$(grep -i "alias dw='source docker_work'" ~/.bashrc)
if [ $? -ne 0 ]
then
echo "alias dw='source docker_work'" >> ~/.bashrc
echo "Alias clidmanager angelegt... 45%"
sleep 0.8
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 [ dm -eq 0 ]
then
Bar=30; Bar2=60; row2="Update installiert."; echo -e "\n"
else
Bar=60; Bar2=75
row1=echo -e "\n"; echo "Benutzer der Gruppe Docker hinzugefügt... 100%"
row2=echo -e "\n"; echo "Bei der nächten anmeldung können sie clidmanager"
row3=echo -e "\n"; echo "entweder über clidmanager oder über dm aufrufen."
echo "no_pwd_clidmanager installiert... {$Bar}%"
sleep 0.8
echo "docker_work installiert... {$Bar2}%"
sleep 0.8
echo "clidmanager installiert... 90%"
sleep 0.8
if [ -z $isgroup ]
then
sudo usermod -aG docker $USER
fi
sleep 0.8
$row1
$row2
$row3
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
echo "docker_work entfernt.... 15%"
sleep 0.5
echo "no_pwd_clidmanager.... 30%"
sleep 0.5
echo "clidmanager entfernt.... 45%"
sleep 0.5
sed -i -e /"alias dm='sudo clidmanager'"/d ~/.bashrc && \
echo "Alias dm entfernt.... 60%"
sleep 0.5
sed -i -e /"alias clidmanager='sudo clidmanager'"/d ~/.bashrc && \
echo "Alias clidmanager entfernt.... 75%"
sleep 0.5
sed -i -e /"alias dw='source docker_work'"/d ~/.bashrc
echo "Alias dw entfernt.... 90%"
sleep 0.5
echo
sudo usermod -rG docker $USER
echo "Benutzer wird aus der Gruppe Docker entfernt.... 100%"
sleep 0.5
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