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
Что делает:
- Обновляет систему и устанавливает базовые утилиты (tmux, mc, git, net-tools, curl, wget, build-essential, btop)
- Устанавливает Docker + Docker Compose
- Настраивает hostname (по умолчанию
bbox-node) - Обновляет баннер входа: BBox v1.2 (bbox.wtf) с подписью «Created by free people for a free world»
- Сбрасывает machine-id и SSH host keys (для уникальности клонированных образов)
- Вызывает
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)
Ручная установка
- Скачайте скрипт:
wget https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/setup_vps.sh - Сделайте исполняемым:
chmod +x setup_vps.sh - Запустите:
./setup_vps.sh
Варианты установки tmux
При запуске скрипт предложит выбрать вариант установки tmux:
-
Стандартная установка (из репозитория):
- Быстрая установка
- Стабильная версия
- Без поддержки GPU
-
Расширенная установка (с компиляцией):
- Последняя версия из исходников
- Поддержка GPU
- Требует больше времени и ресурсов
Что делает скрипт
- Обновляет систему и устанавливает зависимости
- Устанавливает выбранную версию tmux
- Настраивает Docker-окружение:
- Docker Engine
- Docker Compose Plugin
- Dry (интерфейс управления)
- Компилирует и устанавливает btop с поддержкой GPU
- Клонирует целевой репозиторий
- Копирует конфигурационные файлы tmux
- Проверяет версии всех установленных компонентов
После установки
-
Для применения изменений прав 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-систем. Для других дистрибутивов дополнительная настройка.