Загрузить файлы в «/»

This commit is contained in:
2026-04-18 17:38:09 +05:00
parent 43e50b5763
commit 3e02858cb0

71
install_docker.sh Normal file
View File

@@ -0,0 +1,71 @@
#!/bin/bash
# Скрипт установки Docker, Docker Compose, mc, wget, curl, htop, nano на Debian
# curl -fsSL https://git.dadehard.ru/kalugin66/Dev/raw/branch/main/install_docker.sh | bash
set -e # Прерывать выполнение при любой ошибке
# Цвета для вывода
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Функция для вывода сообщений
info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
warn() {
echo -e "${YELLOW}[WARN]${NC} $1"
}
error() {
echo -e "${RED}[ERROR]${NC} $1"
exit 1
}
# Проверка прав root
if [[ $EUID -ne 0 ]]; then
error "Этот скрипт должен выполняться от root (используйте sudo)."
fi
# Обновление списка пакетов и установка базовых зависимостей
info "Обновление списка пакетов..."
apt update -y
info "Установка необходимых пакетов: apt-transport-https, ca-certificates, curl, gnupg, lsb-release..."
apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
# Добавление официального ключа Docker
info "Добавление официального GPG-ключа Docker..."
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Добавление стабильного репозитория Docker
info "Добавление репозитория Docker..."
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# Установка Docker Engine и плагина Compose
info "Установка Docker Engine, CLI, containerd.io и docker-compose-plugin..."
apt update -y
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Установка дополнительных пакетов: mc, wget, curl, htop, nano
info "Установка mc, wget, curl, htop, nano..."
apt install -y mc wget curl htop nano
# Добавление текущего пользователя (не root) в группу docker, если скрипт запущен через sudo с сохранением SUDO_USER
if [[ -n "$SUDO_USER" ]]; then
USER_NAME="$SUDO_USER"
info "Добавление пользователя $USER_NAME в группу docker..."
usermod -aG docker "$USER_NAME"
warn "Пользователю $USER_NAME потребуется выйти из системы и зайти заново (или перезагрузить сессию), чтобы изменения вступили в силу."
else
warn "Переменная SUDO_USER не найдена. Пользователь не добавлен в группу docker. Если вы не root, добавьте себя вручную: sudo usermod -aG docker \$USER"
fi
# Проверка версий
info "Проверка установленных версий:"
docker --version || error "Docker не установлен"
docker compose version || error "Docker Compose не установлен"
info "Установка успешно завершена!"