Добавить скрипты первичной инициализации, очистки и автозапуска (BBox)

This commit is contained in:
NW
2026-08-07 14:58:14 +01:00
parent 79f6c425e5
commit 5606fb0563
5 changed files with 553 additions and 0 deletions

View File

@@ -2,6 +2,8 @@
Автоматический скрипт для настройки VPS с базовыми инструментами, Docker-окружением и расширенными возможностями.
> Часть экосистемы **BBox (bbox.wtf)** — «Свободные люди для свободного мира, во имя приватности и безопасности».
## Что устанавливается
- 🛠️ **Системные утилиты**:
@@ -15,6 +17,48 @@
- 🔗 **Клонирование репозитория** [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**: