Перейти к содержанию

BombVault

Ваши данные Unraid, запечатанные в сейфе. Заложите резервную копию. Взорвите восстановление.

BombVault, это self-hosted веб-приложение, нативное для Unraid, для резервного копирования и полного аварийного восстановления ваших контейнеров Docker и виртуальных машин KVM/libvirt. Оно работает как единый мультиархитектурный контейнер Docker, даёт вам современный тёмный веб-интерфейс и охватывает весь жизненный цикл: резервное копирование, планирование, проверку и восстановление.

Восстановление выполняется автоматически. Контейнеры снова появляются во вкладке Docker в Unraid ровно такими, какими были, а виртуальные машины заново определяются в VM Manager с повторно подключёнными дисками и UEFI NVRAM. Никакой ручной переустановки, никакой перенастройки, никакой драмы.

Работает на основе restic, поэтому каждая резервная копия дедуплицирована, инкрементальна и всегда зашифрована.

Берегите свой APP_KEY

BombVault выводит пароль репозитория restic из 32-байтового секрета с именем APP_KEY. Его потеря делает зашифрованные резервные копии невосстановимыми. Сгенерируйте его командой openssl rand -hex 32 и храните в надёжном месте. См. Конфигурация.

Что защищает BombVault

Домен Что сохраняется
Контейнеры Docker Каталог appdata плюс определение контейнера (образ, переменные окружения, порты, метки, тома).
Виртуальные машины KVM / libvirt Образ(ы) диска VM, определение XML и UEFI NVRAM, резервируемые через SSH (без монтирования libvirt).
Unraid flash Вся USB-флешка (/boot): ОС, лицензия, конфигурация массива, общие ресурсы, сеть и конфигурация плагинов.
Конфигурация приложения Собственный /config BombVault: его база данных настроек, учётные данные внешней копии и SSH-пара ключей libvirt.
Файлы и папки Именованные наборы файлов, любая папка на сервере, каждая с необязательными шаблонами исключений для набора.

Восстановление, вот главная звезда

После копирования данных обратно из снимка restic BombVault воспроизводит сохранённое определение контейнера через Docker API, поэтому контейнер снова появляется во вкладке Docker в Unraid, как будто он всегда там был (тот же образ, те же настройки, те же сопоставления портов). Виртуальные машины получают заново определённый XML через SSH, а их диски и UEFI NVRAM повторно подключаются, даже после того как VM была удалена.

Когда резервное копирование останавливает зависимые контейнеры, они возвращаются в правильном порядке: BombVault перезапускает их в порядке depends_on из Compose и ждёт, пока каждый сообщит о работоспособности, прежде чем запустить те, что зависят от него, поэтому ничто не вырывается вперёд базы данных или шлюза, который ещё не поднят. См. Возможности.

Как это работает

Browser --HTTPS--> BombVault container
                   |- Go binary: JSON API + embedded React UI
                   |- Background worker (per-domain scheduler + job executor)
                   |
                   |- /var/run/docker.sock  -> Docker API (container stop/inspect/recreate)
                   |- qemu+ssh://host       -> libvirt / KVM on the HOST over SSH (no mount)
                   |- /mnt/ -> /host/user   -> appdata, VM disks + restic repos (read/write)
                   |- /boot/ -> /host/boot  -> Unraid flash backup (whole USB)
                   |- /config               -> BombVault's own settings + credentials (self-backup)
                   '- <repo path>           -> restic repository (local or remote: rclone/s3/rest/sftp)

BombVault, это слой оркестрации и интерфейса, а не движок хранения. Всё фактическое перемещение данных проходит через restic.

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

Впервые здесь? Перейдите к Начало работы, чтобы установить BombVault на Unraid через Community Applications и запустить первую резервную копию. Затем изучите полный набор Возможностей, настройте вашу Конфигурацию и настройте Внешнюю копию и восстановление.

Внешняя копия может разветвляться на несколько целей для каждого домена одновременно, доступная только для чтения панель получателя отслеживает эти копии на машине, которая их принимает, и вы можете перенести всю конфигурацию на новую машину с помощью карточки Экспорт и импорт настроек. См. Внешняя копия и восстановление и Конфигурация.

Ссылки

Управление хостом с правами root

Через сокет Docker BombVault может останавливать, удалять и пересоздавать контейнеры, а также читать и записывать appdata, а для резервного копирования VM он входит на хост через SSH для выполнения virsh. Любой, кто может достучаться до его веб-интерфейса, фактически получает root на хосте. Запускайте BombVault только в доверенной, не открытой наружу сети, и включайте необязательную парольную защиту (Настройки, Безопасность), как только используются внешние или неизменяемые резервные копии. Полную модель безопасности см. в Конфигурации.