2025-01-15 12:43:26 +00:00

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
  • 📂 Копирование файлов из папки 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
install.sh Единая команда установки из репозитория (инициализация + очистка + скрипты)
motd/10-armbian-header.tpl Шаблон баннера входа BBox (версия и URL подставляются автоматически)

🖥️ Баннер узла — шаблон из репозитория

При входе по SSH узел показывает баннер BBox (bbox.wtf):

  ___ ___          
 | _ ) _ ) _____ __
 | _ \ _ \/ _ \ \ /
 |___/___/\___/_\_\

 v1.2 bbox.wtf on Orange Pi Zero2 running 6.6.36-current-sunxi64, built on Armbian Linux
 Created by free people for a free world, in the name of privacy and security.

Файл хранится как шаблон motd/10-armbian-header.tpl с плейсхолдерами __BBOX_VERSION__ и __BBOX_URL__. При каждой установке (install_scripts.sh / init_system.sh) баннер целиком перезаписывается из шаблона с подстановкой актуальной версии:

  • Смена версии → правите BBOX_VERSION в скриптах (единый источник), повторный запуск install.sh обновляет баннер на всех устройствах.
  • Обновление пакета Armbian → дефолтный файл восстановится, но повторный install_scripts.sh вернёт BBox-баннер.
  • Бэкап дефолтного баннера Armbian: /etc/update-motd.d/10-armbian-header.bak.
  • Локальная копия шаблона для повторных запусков: /usr/local/share/bbox/motd/.

Первичная инициализация (init_system.sh)

Выполняется один раз на новом устройстве:

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)

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.

sudo ./install_scripts.sh                    # установить скрипты + автозапуск
systemctl status bbox-firstboot.service      # статус автозапуска

Особенности

  • 🔧 Гибкая установка tmux:
    • Простая установка из репозитория
    • Компиляция из исходников с поддержкой GPU
  • 🚀 Оптимизированная работа с Docker:
    • Автоматическое добавление пользователя в группу docker
    • Установка последних стабильных версий
  • 📈 Мониторинг системы:
    • btop с аппаратным ускорением GPU
    • Настройка прав для доступа к статистике оборудования

Предварительные требования

  • Сервер на базе Ubuntu/Debian (рекомендуется LTS-версия)
  • Пользователь с правами sudo
  • 2+ ГБ свободного места на диске (для компиляции)
  • Интернет-соединение для загрузки пакетов

Быстрый старт

Единая команда (рекомендуется)

Установка BBox из репозитория одной командой — инициализация, очистка и установка скриптов с автозапуском. Все диалоги автоматически выбирают значения по умолчанию через 5 секунд:

bash <(curl -s https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/install.sh)

Без вопросов (полный автозапуск):

bash <(curl -s https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/install.sh) --yes

Только определённый шаг:

bash <(curl -s .../install.sh) --init-only       # только инициализация
bash <(curl -s .../install.sh) --cleanup-only    # только очистка
bash <(curl -s .../install.sh) --scripts-only    # только скрипты/автозапуск
bash <(curl -s .../install.sh) --timeout=10      # таймер 10 сек

Ручная установка

bash <(curl -s https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/setup_vps.sh)

Ручная установка

  1. Скачайте скрипт:
    wget https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/setup_vps.sh
    
  2. Сделайте исполняемым:
    chmod +x setup_vps.sh
    
  3. Запустите:
    ./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:

    newgrp docker
    

    или перезапустите сессию SSH.

  • Проверьте работу Docker:

    docker run hello-world
    
  • Запустите мониторинг системы:

    btop
    

Примеры использования

  • Работа с Docker Compose:

    docker compose up -d
    
  • Запуск интерфейса Dry:

    dry
    
  • Создание новой сессии tmux:

    tmux new -s mysession
    

Вопросы и устранение неполадок

Проблемы с GPU в btop? Убедитесь, что:

  • У вас установлены драйверы GPU
  • Скрипт выполнен с правами root или пользователь добавлен в нужные группы

Ошибки при компиляции tmux? Попробуйте:

  • Установить больше зависимостей: build-essential libevent-dev libncurses-dev
  • Выбрать стандартную установку из репозитория

Лицензия

MIT License.

Безопасность: Всегда проверяйте скрипты перед запуском на production-серверах.
Поддержка: Только для Ubuntu/Debian-систем. Для других дистрибутивов дополнительная настройка.

Description
No description provided
Readme 143 KiB
Languages
Shell 88.2%
Smarty 11.8%