BombVault¶
Ваші дані Unraid, запечатані у сховищі. Скиньте резервну копію. Підірвіть відновлення.
BombVault, це самостійно розміщуваний, рідний для 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. |
| Файли та теки | Іменовані набори файлів, будь-яка тека на сервері, кожен з необов'язковими шаблонами виключення для окремого набору. |
| Набори даних ZFS | Набір даних з усіма наборами під ним, прочитаний з одного знімка ZFS і збережений як тека. Див. Набори даних ZFS. |
Відновлення, це зірка¶
Після копіювання даних назад зі знімка restic BombVault відтворює збережене визначення контейнера через Docker API, тож контейнер знову з'являється на вкладці Docker в Unraid так, ніби завжди там був (той самий образ, ті самі налаштування, ті самі відображення портів). Для VM 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 використовує сокет Docker, щоб зупиняти контейнери перед резервним копіюванням і відтворювати їх після відновлення. Для віртуальних машин він виконує virsh на хості через SSH (qemu+ssh://), щоб коректно вимкнути машину або зробити живий знімок. Він ніколи не монтує шлях libvirt, тож не може завадити VM Manager на хості.
BombVault, це рівень оркестрації та інтерфейсу, а не механізм зберігання. Усе фактичне переміщення даних проходить через restic.
Швидкий старт¶
Уперше тут? Перейдіть до Початок роботи, щоб установити BombVault на Unraid через Community Applications і запустити свою першу резервну копію. Потім дослідіть усі Можливості, налаштуйте свою Конфігурацію і налаштуйте Зовнішнє копіювання та відновлення.
Зовнішнє копіювання може розгалужуватися на кілька цілей для домену одночасно, а панель отримувача лише для читання відстежує ці копії на машині, яка їх отримує, і ви можете перенести всю свою конфігурацію на нову машину за допомогою картки Експорт / імпорт налаштувань. Див. Зовнішнє копіювання та відновлення і Конфігурація.
Застосунок для Android збирає всі сервери вашої групи на телефоні, а журнал активності їх усіх показує на одному екрані.
Подяки¶
- VolumeVault від @Darkdragon14 (Apache-2.0) дав BombVault початкову ідею: резервне копіювання в один клік і автоматичне перевстановлення контейнерів Docker. BombVault, це окрема реалізація на Go і restic, яка переносить цю ідею на віртуальні машини, flash і не тільки.
- restic, це швидкий, безпечний механізм резервного копіювання з дедуплікацією, яким керує BombVault.
- rclone надає хмарні бекенди.
- Більшість значків на кнопках узято з безкоштовного набору Core Solid від Streamline (CC BY 4.0, джерело). Решта походить із Font Awesome Free, Material Design Icons, Simple Icons і Tabler Icons або намальована для проєкту.
Ліцензія¶
Copyright (C) 2026 Junker der Provinz. BombVault, це вільне програмне забезпечення за ліцензією GNU Affero General Public License v3.0 (LICENSE). Ви можете запускати, вивчати, поширювати та змінювати його. Якщо ви поширюєте його або запускаєте змінену версію як мережевий сервіс, ви зобов'язані опублікувати свій вихідний код за тією самою ліцензією та зберегти наявні повідомлення про авторські права й зазначення авторства.
Назва та фірмовий стиль не ліцензуються. AGPL поширюється лише на вихідний код: права на "BombVault", його логотип і фірмовий стиль залишаються за правовласником, тож форк мусить використовувати власну назву та фірмовий стиль і не може видавати себе за BombVault.
Посилання¶
- Вихідний код: github.com/junkerderprovinz/bombvault
- Тема підтримки Unraid: forums.unraid.net
- Питання та помилки: github.com/junkerderprovinz/bombvault/issues
Root-рівний контроль над хостом
Через сокет Docker BombVault може зупиняти, видаляти та відтворювати контейнери й читати/писати appdata, а для резервного копіювання VM він входить на хост через SSH, щоб виконати virsh. Кожен, хто має доступ до його вебінтерфейсу, фактично має root на хості. Запускайте BombVault лише в довіреній, не виставленій назовні мережі та ввімкніть необов'язковий пароль (Налаштування, Безпека), щойно почнете використовувати зовнішні або незмінні резервні копії. Повну модель безпеки див. у Конфігурація.