Merge pull request #317 from guruswarupa/docker

docker-setup interactive script
This commit is contained in:
Chris Titus 2024-09-18 11:48:20 -05:00 committed by GitHub
commit 3f00e1a300
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 91 additions and 0 deletions

View File

@ -0,0 +1,87 @@
#!/bin/sh -e
. ../common-script.sh
# Function to prompt the user for installation choice
choose_installation() {
clear
printf "%b\n" "${YELLOW}Choose what to install:${RC}"
printf "%b\n" "1. ${YELLOW}Docker${RC}"
printf "%b\n" "2. ${YELLOW}Docker Compose${RC}"
printf "%b\n" "3. ${YELLOW}Both${RC}"
read -p "Enter your choice [1-3]: " CHOICE
case "$CHOICE" in
1) INSTALL_DOCKER=1; INSTALL_COMPOSE=0 ;;
2) INSTALL_DOCKER=0; INSTALL_COMPOSE=1 ;;
3) INSTALL_DOCKER=1; INSTALL_COMPOSE=1 ;;
*) echo "Invalid choice. Exiting."; exit 1 ;;
esac
}
install_docker() {
printf "%b\n" "${YELLOW}Installing Docker...${RC}"
case $PACKAGER in
apt-get | yum)
curl -fsSL https://get.docker.com | sh
;;
zypper)
$ESCALATION_TOOL ${PACKAGER} --non-interactive install docker
$ESCALATION_TOOL systemctl enable docker
$ESCALATION_TOOL systemctl start docker
;;
pacman)
$ESCALATION_TOOL ${PACKAGER} -S --noconfirm docker
$ESCALATION_TOOL systemctl enable docker
$ESCALATION_TOOL systemctl start docker
;;
*)
printf "${RED}Unsupported package manager. Please install Docker manually.${RC}\n"
exit 1
;;
esac
}
install_docker_compose() {
printf "%b\n" "${YELLOW}Installing Docker Compose...${RC}"
case $PACKAGER in
apt-get | yum)
$ESCALATION_TOOL ${PACKAGER} update
$ESCALATION_TOOL ${PACKAGER} install -y docker-compose-plugin
;;
zypper)
$ESCALATION_TOOL ${PACKAGER} --non-interactive install docker-compose
;;
pacman)
$ESCALATION_TOOL ${PACKAGER} -S --noconfirm docker-compose
;;
*)
printf "${RED}Unsupported package manager. Please install Docker Compose manually.${RC}\n"
exit 1
;;
esac
}
install_components() {
choose_installation
if [ "$INSTALL_DOCKER" -eq 1 ]; then
if ! command_exists docker; then
install_docker
else
printf "%b\n" "${GREEN}Docker is already installed.${RC}"
fi
fi
if [ "$INSTALL_COMPOSE" -eq 1 ]; then
if ! command_exists docker-compose || ! command_exists docker compose version; then
install_docker_compose
else
printf "%b\n" "${GREEN}Docker Compose is already installed.${RC}"
fi
fi
}
checkEnv
checkEscalationTool
install_components

View File

@ -51,3 +51,7 @@ script = "3-global-theme.sh"
[[data]]
name = "Remove Snaps"
script = "4-remove-snaps.sh"
[[data]]
name = "Docker Setup"
script = "6-docker-setup.sh"