# VPS Auto-Setup Script Автоматический скрипт для настройки VPS с базовыми инструментами, Docker-окружением и расширенными возможностями. > Часть экосистемы **BBox (bbox.wtf)** — «Свободные люди для свободного мира, во имя приватности и безопасности». ## Что устанавливается - 🛠️ **Системные утилиты**: - `tmux` (с выбором варианта установки) - `mc` (Midnight Commander) - `net-tools` (ifconfig и другие сетевые инструменты) - `git` - 🐋 **Docker & Docker Compose** (как плагин, без дефиса) - 🧩 **Dry** (интерфейс для управления Docker) - 📊 **btop** (мониторинг системы с поддержкой GPU) - 🔗 **Клонирование репозитория** [opendoor-base-install](https://git.softuniq.eu/OpenDoor/opendoor-base-install) - 📂 **Копирование файлов из папки `tmux`** в `/root/` ## Скрипты репозитория | Скрипт | Назначение | |--------|-----------| | `setup_vps.sh` | Основная настройка VPS: утилиты, Docker, dry, btop, tmux | | `init_system.sh` | Первичная инициализация устройства (однократно после развёртывания): обновление, базовые утилиты, Docker, hostname, баннер BBox, сброс идентификаторов | | `cleanup_system.sh` | Очистка и оптимизация: apt-кэш, логи, tmp, orphaned-пакеты, Docker-мусор; `--full` дополнительно удаляет Matrix/nginx и сбрасывает идентификаторы | | `install_scripts.sh` | Установка скриптов в `/usr/local/bin` + сервис автозапуска `bbox-firstboot.service` | ### Первичная инициализация (`init_system.sh`) Выполняется один раз на новом устройстве: ```bash sudo ./init_system.sh ``` Что делает: 1. Обновляет систему и устанавливает базовые утилиты (tmux, mc, git, net-tools, curl, wget, build-essential, btop) 2. Устанавливает Docker + Docker Compose 3. Настраивает hostname (по умолчанию `bbox-node`) 4. Обновляет баннер входа: **BBox v1.2 (bbox.wtf)** с подписью «Created by free people for a free world» 5. Сбрасывает machine-id и SSH host keys (для уникальности клонированных образов) 6. Вызывает `install_scripts.sh` для установки автозапуска ### Очистка системы (`cleanup_system.sh`) ```bash sudo ./cleanup_system.sh # стандартная очистка sudo ./cleanup_system.sh --dry-run # показать, что будет очищено sudo ./cleanup_system.sh --full # + удаление Matrix/nginx, сброс идентификаторов ``` ### Автозапуск (firstboot) `install_scripts.sh` создаёт systemd-сервис `bbox-firstboot.service`, который при **первой** загрузке устройства автоматически выполняет инициализацию. Повторный запуск блокируется маркером `/var/lib/bbox-firstboot-done`. ```bash sudo ./install_scripts.sh # установить скрипты + автозапуск systemctl status bbox-firstboot.service # статус автозапуска ``` ## Особенности - 🔧 **Гибкая установка tmux**: - Простая установка из репозитория - Компиляция из исходников с поддержкой GPU - 🚀 **Оптимизированная работа с Docker**: - Автоматическое добавление пользователя в группу docker - Установка последних стабильных версий - 📈 **Мониторинг системы**: - btop с аппаратным ускорением GPU - Настройка прав для доступа к статистике оборудования ## Предварительные требования - Сервер на базе **Ubuntu/Debian** (рекомендуется LTS-версия) - Пользователь с правами **sudo** - **2+ ГБ** свободного места на диске (для компиляции) - **Интернет-соединение** для загрузки пакетов ## Быстрый старт ```bash bash <(curl -s https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/setup_vps.sh) ``` ## Ручная установка 1. Скачайте скрипт: ```bash wget https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/setup_vps.sh ``` 2. Сделайте исполняемым: ```bash chmod +x setup_vps.sh ``` 3. Запустите: ```bash ./setup_vps.sh ``` ## Варианты установки tmux При запуске скрипт предложит выбрать вариант установки tmux: 1. **Стандартная установка** (из репозитория): - Быстрая установка - Стабильная версия - Без поддержки GPU 2. **Расширенная установка** (с компиляцией): - Последняя версия из исходников - Поддержка GPU - Требует больше времени и ресурсов ## Что делает скрипт 1. Обновляет систему и устанавливает зависимости 2. Устанавливает выбранную версию tmux 3. Настраивает Docker-окружение: - Docker Engine - Docker Compose Plugin - Dry (интерфейс управления) 4. Компилирует и устанавливает btop с поддержкой GPU 5. Клонирует целевой репозиторий 6. Копирует конфигурационные файлы tmux 7. Проверяет версии всех установленных компонентов ## После установки - Для применения изменений прав Docker: ```bash newgrp docker ``` или перезапустите сессию SSH. - Проверьте работу Docker: ```bash docker run hello-world ``` - Запустите мониторинг системы: ```bash btop ``` ## Примеры использования - Работа с Docker Compose: ```bash docker compose up -d ``` - Запуск интерфейса Dry: ```bash dry ``` - Создание новой сессии tmux: ```bash tmux new -s mysession ``` ## Вопросы и устранение неполадок **Проблемы с GPU в btop?** Убедитесь, что: - У вас установлены драйверы GPU - Скрипт выполнен с правами root или пользователь добавлен в нужные группы **Ошибки при компиляции tmux?** Попробуйте: - Установить больше зависимостей: `build-essential libevent-dev libncurses-dev` - Выбрать стандартную установку из репозитория ## Лицензия MIT License. --- **Безопасность**: Всегда проверяйте скрипты перед запуском на production-серверах. **Поддержка**: Только для Ubuntu/Debian-систем. Для других дистрибутивов дополнительная настройка.