addet docker script
This commit is contained in:
parent
2d34c2e7e6
commit
8e108f45d7
3 changed files with 113 additions and 64 deletions
|
@ -4,84 +4,126 @@
|
||||||
|
|
||||||
# Function to prompt the user for installation choice
|
# Function to prompt the user for installation choice
|
||||||
choose_installation() {
|
choose_installation() {
|
||||||
clear
|
clear
|
||||||
printf "%b\n" "${YELLOW}Choose what to install:${RC}"
|
printf "%b\n" "${YELLOW}Choose what to install:${RC}"
|
||||||
printf "%b\n" "1. ${YELLOW}Docker${RC}"
|
printf "%b\n" "1. ${YELLOW}Docker${RC}"
|
||||||
printf "%b\n" "2. ${YELLOW}Docker Compose${RC}"
|
printf "%b\n" "2. ${YELLOW}Docker Compose${RC}"
|
||||||
printf "%b\n" "3. ${YELLOW}Both${RC}"
|
printf "%b\n" "3. ${YELLOW}Both${RC}"
|
||||||
printf "%b" "Enter your choice [1-3]: "
|
printf "%b" "Enter your choice [1-3]: "
|
||||||
read -r CHOICE
|
read -r CHOICE
|
||||||
|
|
||||||
case "$CHOICE" in
|
case "$CHOICE" in
|
||||||
1) INSTALL_DOCKER=1; INSTALL_COMPOSE=0 ;;
|
1)
|
||||||
2) INSTALL_DOCKER=0; INSTALL_COMPOSE=1 ;;
|
INSTALL_DOCKER=1
|
||||||
3) INSTALL_DOCKER=1; INSTALL_COMPOSE=1 ;;
|
INSTALL_COMPOSE=0
|
||||||
*) printf "%b\n" "${RED}Invalid choice. Exiting.${RC}"; exit 1 ;;
|
;;
|
||||||
esac
|
2)
|
||||||
|
INSTALL_DOCKER=0
|
||||||
|
INSTALL_COMPOSE=1
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
INSTALL_DOCKER=1
|
||||||
|
INSTALL_COMPOSE=1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printf "%b\n" "${RED}Invalid choice. Exiting.${RC}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
install_docker() {
|
install_docker() {
|
||||||
printf "%b\n" "${YELLOW}Installing Docker...${RC}"
|
printf "%b\n" "${YELLOW}Installing Docker...${RC}"
|
||||||
case "$PACKAGER" in
|
case "$PACKAGER" in
|
||||||
apt-get|nala)
|
apt-get | nala)
|
||||||
curl -fsSL https://get.docker.com | sh
|
curl -fsSL https://get.docker.com | sh
|
||||||
;;
|
;;
|
||||||
zypper)
|
zypper)
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install docker
|
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install docker
|
||||||
"$ESCALATION_TOOL" systemctl enable docker
|
"$ESCALATION_TOOL" systemctl enable docker
|
||||||
"$ESCALATION_TOOL" systemctl start docker
|
"$ESCALATION_TOOL" systemctl start docker
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm docker
|
"$ESCALATION_TOOL" "$PACKAGER" -S --noconfirm docker
|
||||||
"$ESCALATION_TOOL" systemctl enable docker
|
"$ESCALATION_TOOL" systemctl enable docker
|
||||||
"$ESCALATION_TOOL" systemctl start docker
|
"$ESCALATION_TOOL" systemctl start docker
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
install_docker_compose() {
|
install_docker_compose() {
|
||||||
printf "%b\n" "${YELLOW}Installing Docker Compose...${RC}"
|
printf "%b\n" "${YELLOW}Installing Docker Compose...${RC}"
|
||||||
case "$PACKAGER" in
|
case "$PACKAGER" in
|
||||||
apt-get|nala)
|
apt-get | nala)
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" install -y docker-compose-plugin
|
"$ESCALATION_TOOL" "$PACKAGER" install -y docker-compose-plugin
|
||||||
;;
|
;;
|
||||||
zypper)
|
zypper)
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install docker-compose
|
"$ESCALATION_TOOL" "$PACKAGER" --non-interactive install docker-compose
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm docker-compose
|
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm docker-compose
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
printf "%b\n" "${RED}Unsupported package manager: ""$PACKAGER""${RC}"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
install_components() {
|
install_components() {
|
||||||
choose_installation
|
choose_installation
|
||||||
|
|
||||||
if [ "$INSTALL_DOCKER" -eq 1 ]; then
|
if [ "$INSTALL_DOCKER" -eq 1 ]; then
|
||||||
if ! command_exists docker; then
|
if ! command_exists docker; then
|
||||||
install_docker
|
install_docker
|
||||||
else
|
else
|
||||||
printf "%b\n" "${GREEN}Docker is already installed.${RC}"
|
printf "%b\n" "${GREEN}Docker is already installed.${RC}"
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$INSTALL_COMPOSE" -eq 1 ]; then
|
if [ "$INSTALL_COMPOSE" -eq 1 ]; then
|
||||||
if ! command_exists docker-compose || ! command_exists docker compose version; then
|
if ! command_exists docker-compose || ! command_exists docker compose version; then
|
||||||
install_docker_compose
|
install_docker_compose
|
||||||
else
|
else
|
||||||
printf "%b\n" "${GREEN}Docker Compose is already installed.${RC}"
|
printf "%b\n" "${GREEN}Docker Compose is already installed.${RC}"
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
init_groups() {
|
||||||
|
clear
|
||||||
|
if command_exists usermod; then
|
||||||
|
printf "%b\n" "${YELLOW}Do you want to add $(whoami) to the docker group?:${RC}"
|
||||||
|
printf "%b" "Enter your choice [Y/n]: "
|
||||||
|
read -r CHOICE_2
|
||||||
|
|
||||||
|
case "$CHOICE_2" in
|
||||||
|
N | n)
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
"$ESCALATION_TOOL" usermod -aG docker "$(whoami)"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
printf "%b\n" "${RED}The command 'usermod' does not exist!${RC}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_autostart() {
|
||||||
|
if command_exists systemctl; then
|
||||||
|
"$ESCALATION_TOOL" systemctl enable --now docker
|
||||||
|
else
|
||||||
|
printf "%b\n" "${RED}The command 'systemctl' does not exist!${RC}"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
checkEnv
|
checkEnv
|
||||||
checkEscalationTool
|
checkEscalationTool
|
||||||
install_components
|
install_components
|
||||||
|
init_groups
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,12 @@ description = "Flatpak is a universal application sandbox for Linux that uses is
|
||||||
script = "setup-flatpak.sh"
|
script = "setup-flatpak.sh"
|
||||||
task_list = "I"
|
task_list = "I"
|
||||||
|
|
||||||
|
[[data]]
|
||||||
|
name = "Docker"
|
||||||
|
description = "Installs docker and handles the group permissions correctly"
|
||||||
|
script = "docker-setup.sh"
|
||||||
|
task_list = "I"
|
||||||
|
|
||||||
[[data]]
|
[[data]]
|
||||||
name = "github-desktop"
|
name = "github-desktop"
|
||||||
description = "GitHub Desktop is a free Git client that allows you to manage your GitHub repositories on your desktop."
|
description = "GitHub Desktop is a free Git client that allows you to manage your GitHub repositories on your desktop."
|
||||||
|
|
|
@ -30,7 +30,8 @@ task_list = "I"
|
||||||
[[data.entries]]
|
[[data.entries]]
|
||||||
name = "Blackarch setup"
|
name = "Blackarch setup"
|
||||||
description = "You can install blackarch repositories and packages through this script, if your on arch already (which you should, if you're seeing this)"
|
description = "You can install blackarch repositories and packages through this script, if your on arch already (which you should, if you're seeing this)"
|
||||||
script = "arch/blackarch.sh" = "I"
|
script = "arch/blackarch.sh"
|
||||||
|
task_list = "I"
|
||||||
|
|
||||||
[[data]]
|
[[data]]
|
||||||
name = "Debian"
|
name = "Debian"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue