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 и запустить первую резервную копию. Затем изучите полный набор Возможностей, настройте вашу Конфигурацию и настройте Внешнюю копию и восстановление.
Внешняя копия может разветвляться на несколько целей для каждого домена одновременно, доступная только для чтения панель получателя отслеживает эти копии на машине, которая их принимает, и вы можете перенести всю конфигурацию на новую машину с помощью карточки Экспорт и импорт настроек. См. Внешняя копия и восстановление и Конфигурация.
Ссылки¶
- Исходный код: github.com/junkerderprovinz/bombvault
- Ветка поддержки Unraid: forums.unraid.net
- Issues: github.com/junkerderprovinz/bombvault/issues
Управление хостом с правами root
Через сокет Docker BombVault может останавливать, удалять и пересоздавать контейнеры, а также читать и записывать appdata, а для резервного копирования VM он входит на хост через SSH для выполнения virsh. Любой, кто может достучаться до его веб-интерфейса, фактически получает root на хосте. Запускайте BombVault только в доверенной, не открытой наружу сети, и включайте необязательную парольную защиту (Настройки, Безопасность), как только используются внешние или неизменяемые резервные копии. Полную модель безопасности см. в Конфигурации.