2025-03-27 10:10:13 +01:00

162 lines
5.3 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"
############################################################################################################
############################################################################################################
install() {
dm=$(grep -i "alias dm='sudo clidmanager'" ~/.bashrc)
if [ $? -ne 0 ]
then
echo "alias dm='sudo clidmanager'" >> ~/.bashrc
echo "Alias dm angelegt... 15%"
check=""
sleep 0.8
else
check="ok"
fi
cdm=$(grep -i "alias clidmanager='sudo clidmanager'" ~/.bashrc)
if [ $? -ne 0 ]
then
echo "alias clidmanager='sudo clidmanager'" >> ~/.bashrc
echo "Alias clidmanager angelegt... 30%"
check1=""
sleep 0.8
else
check1="ok"
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%"
check2=""
sleep 0.8
else
check2="ok"
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 [ "$check" = "ok" ] && [ "$check1" = "ok" ] && [ "$check2" = "ok" ]
then
Bar=30
Bar2=60
echo "no_pwd_clidmanager installiert... $Bar%"
sleep 0.8
echo "docker_work installiert... $Bar2%"
sleep 0.8
echo "clidmanager installiert... 90%"
sleep 0.8
echo
echo "Update installiert. 100%"
echo
else
Bar=60
Bar2=75
echo "no_pwd_clidmanager installiert... $Bar%"
sleep 0.8
echo "docker_work installiert... $Bar2%"
sleep 0.8
echo "clidmanager installiert... 90%"
sleep 0.8
sudo usermod -aG docker $USER >/dev/null 2>&1
sleep 0.8
echo "Benutzer der Gruppe Docker hinzugefügt... 100%"
echo
echo "Bei der nächten anmeldung können sie clidmanager"
echo
echo "entweder über clidmanager oder über dm aufrufen."
echo
fi
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 "clidmanager vollständig 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
echo "Update/reinstall: y drücken, deinstallieren r drücken"
echo
read -n 1 -s -r -p "Abbruch mit jeder anderen Taste..." result
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
clear
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