#! /bin/bash -- [ ! -z "${GREZZO_1577141523}" ] && return; GREZZO_1577141523=0 . "$(this_script_path)/lsb-release.sh" function feat_addpacks_docker() { if ! feat_missing "apt-get"; then for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done sudo apt-get update if [ "$(apt-cache search docker-ce | grep -o "^docker-ce ")" != "docker-ce" ]; then sudo mkdir -p /etc/apt/keyrings sudo apt-get install \ ca-certificates \ curl \ gnupg sudo install -m 0755 -d /etc/apt/keyrings if [ -f /etc/lsb-release ]; then . /etc/lsb-release fi if [ -f /etc/os-release ]; then . /etc/os-release fi DISTRIB_ID="${DISTRIB_ID:-$ID}" DISTRIB_CODENAME="${DISTRIB_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}" if [ -z "$DISTRIB_CODENAME" ]; then feat_needed "lsb_release" if [ -f /etc/lsb-release ]; then . /etc/lsb-release fi DISTRIB_ID="${DISTRIB_ID:-$ID}" DISTRIB_CODENAME="${DISTRIB_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}" if [ -z "$DISTRIB_CODENAME" ]; then echo "Impossibile determinare DISTRIB_CODENAME (mancano /etc/lsb-release e /etc/os-release)" >&2 return 1 fi fi sudo rm -rf /etc/apt/keyrings/docker.gpg >/dev/null 2>&1 if [[ "$DISTRIB_ID" == "LinuxMint" || "$DISTRIB_ID" == "linuxmint" ]]; then if [ -f /etc/upstream-release/lsb-release ]; then . /etc/upstream-release/lsb-release DISTRIB_CODENAME="${DISTRIB_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}" fi sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null elif [[ "$DISTRIB_ID" == "Ubuntu" || "$DISTRIB_ID" == "ubuntu" ]]; then sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null else sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null fi sudo apt-get update fi sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin fi } function feat_add_docker() { if feat_missing "docker"; then feat_addpacks_docker fi if getent group docker >/dev/null 2>&1; then local target_user target_user="${SUDO_USER:-$USER}" if getent passwd "$target_user" >/dev/null 2>&1; then if ! id -nG "$target_user" | grep -qw docker; then sudo usermod -aG docker "$target_user" echo "Utente aggiunto al gruppo docker. Esegui logout/login per applicare i permessi." fi fi fi }