Обновить setup_vps.sh
This commit is contained in:
parent
1064bf1e8c
commit
901b621117
127
setup_vps.sh
127
setup_vps.sh
@ -1,23 +1,120 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Обновление пакетов и установка базовых утилит
|
# Функция для проверки установки пакета
|
||||||
|
check_install() {
|
||||||
|
if command -v $1 &> /dev/null; then
|
||||||
|
echo "$1 уже установлен."
|
||||||
|
else
|
||||||
|
echo "Установка $1..."
|
||||||
|
sudo apt-get install -y $1
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "$1 успешно установлен."
|
||||||
|
else
|
||||||
|
echo "Ошибка при установке $1."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Обновление пакетов
|
||||||
|
echo "Обновление пакетов..."
|
||||||
sudo apt-get update && sudo apt-get upgrade -y
|
sudo apt-get update && sudo apt-get upgrade -y
|
||||||
sudo apt-get install -y tmux mc dry git
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Ошибка при обновлении пакетов."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Установка tmux
|
||||||
|
check_install tmux
|
||||||
|
|
||||||
|
# Установка mc (Midnight Commander)
|
||||||
|
check_install mc
|
||||||
|
|
||||||
|
# Установка git
|
||||||
|
check_install git
|
||||||
|
|
||||||
# Установка Docker
|
# Установка Docker
|
||||||
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
if ! command -v docker &> /dev/null; then
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
echo "Установка Docker..."
|
||||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
||||||
sudo apt-get update
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Docker успешно установлен."
|
||||||
|
else
|
||||||
|
echo "Ошибка при установке Docker."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Docker уже установлен."
|
||||||
|
fi
|
||||||
|
|
||||||
# Установка Docker Compose (без использования docker-compose)
|
# Установка Docker Compose (без дефиса, как standalone-бинарник)
|
||||||
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
|
if ! command -v docker compose &> /dev/null; then
|
||||||
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
echo "Установка Docker Compose..."
|
||||||
sudo chmod +x /usr/local/bin/docker-compose
|
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
|
||||||
|
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
sudo chmod +x /usr/local/bin/docker-compose
|
||||||
|
# Создаём симлинк для использования команды `docker compose` (без дефиса)
|
||||||
|
sudo ln -s /usr/local/bin/docker-compose /usr/local/bin/docker compose
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Docker Compose успешно установлен."
|
||||||
|
else
|
||||||
|
echo "Ошибка при установке Docker Compose."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Docker Compose уже установлен."
|
||||||
|
fi
|
||||||
|
|
||||||
# Добавление текущего пользователя в группу docker, чтобы не использовать sudo для docker команд
|
# Установка dry (интерфейс для управления Docker)
|
||||||
sudo usermod -aG docker $USER
|
if ! command -v dry &> /dev/null; then
|
||||||
|
echo "Установка dry..."
|
||||||
|
curl -sSL https://github.com/moncho/dry/releases/latest/download/dry-linux-amd64 -o dry
|
||||||
|
chmod +x dry
|
||||||
|
sudo mv dry /usr/local/bin/
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "dry успешно установлен."
|
||||||
|
else
|
||||||
|
echo "Ошибка при установке dry."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "dry уже установлен."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Добавление текущего пользователя в группу docker
|
||||||
|
if ! groups $USER | grep -q '\bdocker\b'; then
|
||||||
|
echo "Добавление пользователя $USER в группу docker..."
|
||||||
|
sudo usermod -aG docker $USER
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Пользователь $USER добавлен в группу docker."
|
||||||
|
else
|
||||||
|
echo "Ошибка при добавлении пользователя в группу docker."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Пользователь $USER уже в группе docker."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Клонирование репозитория
|
||||||
|
REPO_URL="https://git.softuniq.eu/OpenDoor/opendoor-vpn-to-tor.git"
|
||||||
|
REPO_DIR="opendoor-vpn-to-tor"
|
||||||
|
|
||||||
|
if [ -d "$REPO_DIR" ]; then
|
||||||
|
echo "Репозиторий уже клонирован в директорию $REPO_DIR."
|
||||||
|
else
|
||||||
|
echo "Клонирование репозитория $REPO_URL..."
|
||||||
|
git clone "$REPO_URL" "$REPO_DIR"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Репозиторий успешно клонирован в директорию $REPO_DIR."
|
||||||
|
else
|
||||||
|
echo "Ошибка при клонировании репозитория."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Вывод версий установленных программ
|
# Вывод версий установленных программ
|
||||||
echo "Установленные версии:"
|
echo "Установленные версии:"
|
||||||
@ -25,7 +122,7 @@ tmux -V
|
|||||||
mc -V
|
mc -V
|
||||||
dry --version
|
dry --version
|
||||||
docker --version
|
docker --version
|
||||||
docker-compose --version
|
docker compose version
|
||||||
git --version
|
git --version
|
||||||
|
|
||||||
echo "Установка завершена!"
|
echo "Установка и настройка завершены!"
|
Loading…
Reference in New Issue
Block a user