You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.9 KiB
Bash
104 lines
2.9 KiB
Bash
#!/bin/bash
|
|
|
|
#Colors
|
|
RED="\e[1;31m"
|
|
GREEN="\e[1;32m"
|
|
YELLOW="\e[1;33m"
|
|
BLUE="\e[1;34m"
|
|
DEFAULT="\e[0m"
|
|
|
|
# Check if the script is run with root privileges
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Please run this script as root or using sudo."
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}Do you want to Update the system?: [Y/n]${DEFAULT}"
|
|
read -r confirmation
|
|
if [[ ! "$confirmation" =~ ^[Nn]|[Nn][Oo]$ ]]; then
|
|
echo "Updating..."
|
|
sudo apt-get update -y
|
|
sudo apt-get upgrade -y
|
|
else
|
|
echo "You choose no"
|
|
fi
|
|
|
|
echo -e "${YELLOW}Do you want to Install Docker?: [Y/n]${DEFAULT}"
|
|
read -r confirmation
|
|
if [[ ! "$confirmation" =~ ^[Nn]|[Nn][Oo]$ ]]; then
|
|
echo "Installing..."
|
|
if [ $(dpkg -l | grep -c "docker-c" ) -eq 0 ]; then
|
|
sudo apt-get install -y \
|
|
ca-certificates \
|
|
curl \
|
|
gnupg \
|
|
lsb-release \
|
|
make
|
|
|
|
echo -e "${BLUE}Adding Docker's official GPG key${DEFAULT}"
|
|
sudo mkdir -m 0755 -p /etc/apt/keyrings
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
|
|
echo \
|
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
|
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
|
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
|
|
sudo apt-get update -y
|
|
sudo apt-get install -y \
|
|
docker-ce \
|
|
docker-ce-cli \
|
|
containerd.io \
|
|
docker-compose-plugin \
|
|
docker-compose
|
|
|
|
echo -e "${BLUE}Test Docker installation${DEFAULT}"
|
|
sudo docker run hello-world
|
|
if [ $? -ne 0 ]; then
|
|
echo -e "${RED} \"Something went wrong with Docker Installation\"${DEFAULT}"
|
|
else
|
|
echo -e "${GREEN} \"All Docker dependencies Installed\"${DEFAULT}"
|
|
fi
|
|
|
|
echo -e "${BLUE}Make Docker run as root${DEFAULT}"
|
|
sudo groupadd docker
|
|
sudo usermod -aG docker $USER
|
|
newgrp docker
|
|
|
|
echo -e "${BLUE}Test Docker installation without sudo${DEFAULT}"
|
|
docker run hello-world
|
|
if [ $? -ne 0 ]; then
|
|
echo -e "${RED} \"Something went wrong with Docker run as root\"${DEFAULT}"
|
|
else
|
|
echo -e "${GREEN} \"Now docker runs as root\"${DEFAULT}"
|
|
fi
|
|
else
|
|
echo -e "${GREEN} \"Some packets like 'docker-c*' installed, seems Docker is already Installed\"${DEFAULT}"
|
|
fi
|
|
else
|
|
echo "You choose no"
|
|
fi
|
|
|
|
echo -e "${YELLOW}Do you want to Remove Docker?: [y/N]${DEFAULT}"
|
|
read -r confirmation
|
|
if [[ "$confirmation" =~ ^[Yy]|[Yy][Ee][Ss]$ ]]; then
|
|
echo -e "${RED}Are you sure to Remove Docker?: [y/N]${DEFAULT}"
|
|
read -r confirmationagain
|
|
if [[ "$confirmationagain" =~ ^[Yy]|[Yy][Ee][Ss]$ ]]; then
|
|
echo "Removing..."
|
|
echo "TODO"
|
|
# Complete Clean-up(da controllare se va bene) e da aggiungere il resto
|
|
# echo -e "${BLUE}Doing a complete Cleanup${DEFAULT}"
|
|
# sudo apt remove docker-desktop
|
|
# rm -r $HOME/.docker/desktop
|
|
# sudo rm /usr/local/bin/com.docker.cli
|
|
# sudo apt purge docker-desktop
|
|
else
|
|
echo "Not Removing"
|
|
fi
|
|
else
|
|
echo "Not Removing"
|
|
fi
|
|
|
|
exit 0
|