From 0e540dca48c87ed3aafd955258dfd2b3e262b4a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Mon, 11 May 2026 22:15:37 +0900 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20Docker=20Compose=20=D0=BD=D0=B0=20Ubuntu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/install_ubuntu.sh | 42 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/scripts/install_ubuntu.sh b/scripts/install_ubuntu.sh index a93501e..40d9f0d 100644 --- a/scripts/install_ubuntu.sh +++ b/scripts/install_ubuntu.sh @@ -25,18 +25,56 @@ require_root() { fi } +install_docker() { + info "Устанавливаю Docker" + + if command -v docker >/dev/null 2>&1; then + warn "Docker уже установлен" + else + apt-get install -y ca-certificates curl gnupg lsb-release + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg + chmod a+r /etc/apt/keyrings/docker.gpg + + UBUNTU_CODENAME="$(. /etc/os-release && echo "${VERSION_CODENAME:-jammy}")" + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu ${UBUNTU_CODENAME} stable" > /etc/apt/sources.list.d/docker.list + + if apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin; then + info "Docker установлен из официального репозитория" + else + warn "Официальный репозиторий Docker не сработал, ставлю docker.io из Ubuntu repo" + rm -f /etc/apt/sources.list.d/docker.list + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y docker.io + fi + fi + + if ! docker compose version >/dev/null 2>&1; then + warn "Docker Compose plugin недоступен, ставлю standalone docker-compose" + COMPOSE_VERSION="v2.27.0" + mkdir -p /usr/local/lib/docker/cli-plugins + curl -fsSL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-linux-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose + chmod +x /usr/local/lib/docker/cli-plugins/docker-compose + ln -sf /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose + fi + + systemctl enable docker || true + systemctl restart docker || true +} + install_packages() { info "Устанавливаю системные пакеты" apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y \ - ca-certificates curl git unzip zip rsync jq lsof \ + ca-certificates curl git unzip zip rsync jq lsof gnupg lsb-release \ build-essential pkg-config \ python3 python3-venv python3-pip \ sqlite3 \ - docker.io docker-compose-plugin \ adb fastboot \ openjdk-17-jdk \ udev + + install_docker } create_user_and_dirs() {