Začínáme¶
Tato stránka vás provede od čerstvého stroje s Unraidem až k vaší první záloze.
Požadavky¶
| Požadavek | Poznámky |
|---|---|
| Unraid 6.12+ | Starší verze nejsou testovány. Unraid je hlavní platforma, ale BombVault běží i na obyčejném hostiteli Dockeru a na TrueNAS Scale (viz Obecný hostitel Dockeru). |
| Umístění restic repozitáře | Místní cesta (doporučeno: vaše pole nebo cache), SMB, NFS nebo libovolný rclone backend. |
| Docker socket | Připojen šablonou automaticky (/var/run/docker.sock). |
Unraid flash (/boot) |
Připojen celý šablonou automaticky (/boot na /host/boot). Pohání zálohu flashe a umožňuje obnovenému kontejneru znovu se objevit jako běžná, editovatelná aplikace Unraidu. |
| KVM VM (volitelné) | Záloha VM komunikuje s libvirt přes SSH, bez připojení libvirt. Nastavte ji v Nastavení (viz Konfigurace). |
| Datové sady ZFS (volitelné) | Stejné spojení SSH jako u záloh VM, zfs na hostiteli a Host Data připojené jako /mnt s režimem přístupu Read/Write - Slave, což je výchozí nastavení šablony. Viz Datové sady ZFS. |
| Aplikace pro Android (nepovinné) | Android 10 nebo novější, spárovaná se servery ve verzi 9.7.0 nebo novější. Viz Aplikace pro Android. |
Instalace na Unraid¶
Nejsnazší cestou je Community Applications.
- Otevřete záložku Apps v Unraidu.
- Vyhledejte BombVault.
- Klikněte na Install, nastavte požadované proměnné (níže) a aplikujte.
Ruční instalace šablony
Pokud dáváte přednost ručnímu přidání šablony:
- Přejděte na Docker, Add Container, Template repositories a přidejte:
- Vyhledejte BombVault v Templates.
- Nastavte požadované proměnné a klikněte na Apply.
Obecný hostitel Dockeru¶
Nemáte Unraid? BombVault běží i jako prostý kontejner na libovolném hostiteli Dockeru (na tom stojí také podpora kontejnerů na TrueNAS Scale, ještě před vlastní položkou v tamním katalogu aplikací).
- Stáhněte si z repozitáře soubor
deploy/docker-compose.generic.yml, připravený k úpravám. - Nastavte
APP_KEY(viz níže) a nasměrujte svazek Host Data na svůj skutečný kořen dat: komentáře v souboru provedou obojím. docker compose up -d, poté otevřetehttps://<ip-hostitele>:3443/.
V čem se to liší od Unraidu:
- Žádná doména flash/USB. Není tu žádný zaváděcí USB disk, který by se dal zachytit nebo obnovit, doména Flash v nastavení tedy nemá co dělat. Místo toho doména Složky nabízí návrh na jedno kliknutí Přidat přednastavení: konfigurace hostitelského systému (výchozí sada souborů
/etc, kterou si před uložením projdete a upravíte), jako praktický obecný protějšek. - Žádná nativní oznámení Unraidu. Vlastní oznamovací kanály BombVaultu (webhook, upozornění na selhání mimo lokalitu a podobně) fungují normálně; vynechává se jen odeslání do oznamovacího systému Unraidu, protože takový systém tu není.
- Záloha virtuálních strojů je volitelná a potřebuje samostatného hostitele libvirtd dostupného přes SSH. Viz zakomentovaný blok v souboru compose. Obecný hostitel Dockeru sám o sobě žádného správce virtuálních strojů nemá.
- Žádný widget na dashboardu. BombVault Widget je plugin pro Unraid, takže i tento krok odpadá.
- Jak se najdou data kontejneru. Bez konvence
appdataz Unraidu se datová složka kontejneru najde podle segmentů vDATA_ROOT_SEGMENTS, pojmenovaných svazků Dockeru, pracovního adresáře projektu Compose a štítkubombvault.data(viz Rozpoznávání zdrojů zálohy). Pojmenované svazky i přednastavení/etcdosáhnou jen na cesty uvnitř připojení Host Data, takže nasměrujte Host Data na společného předka, který pokrývá i kořen dat Dockeru. PLATFORM. Nastavte ji nagenericnebotruenas. Když ji nenastavíte, BombVault rozpozná Unraid podle jeho vlastní značky na připojení flash a cokoli jiného bere jako obecného hostitele, a kroky jen pro Unraid se přeskočí, místo aby se zkoušely a selhávaly.
TrueNAS Scale jde stejnou cestou přes compose; položka katalogu je v repozitáři připravená, ale zatím nebyla odeslána. Záloha VM tam potřebuje LIBVIRT_URI, protože libvirtd na TrueNAS naslouchá na vlastním socketu (/run/truenas_libvirt/libvirt-sock), který tři proměnné LIBVIRT_* nedokážou vyjádřit (viz Konfigurace). Nakolik je to ověřené: záloha zvolu proběhla na skutečném stroji s TrueNAS Scale, na zvolu připojeném k běžící VM, a zfs snapshot, zfs send, restic a zfs receive ho přenesly tam a zpět bajt po bajtu beze změny. Úplná obnova řízená samotným BombVaultem na hardwaru TrueNAS zatím neproběhla a ten zvol byl řídký (sparse), takže propustnost při mnoha gigabajtech není otestovaná. Než se na to spolehnete, vyzkoušejte tam obnovu.
Jediné povinné nastavení¶
Jedinou proměnnou, kterou musíte nastavit, je APP_KEY, 32bajtové hex tajemství (64 hex znaků) použité k odvození hesla k restic repozitáři.
Vygenerujte si jej na libovolném stroji:
Výsledek vložte do pole APP_KEY v šabloně (Unraid), nebo do proměnné prostředí APP_KEY v docker-compose.yml (běžný Docker host).
Neztraťte svůj APP_KEY
Ztráta APP_KEY učiní vaše šifrované zálohy neobnovitelnými. Uložte jej na bezpečné místo oddělené od serveru. Jakmile BombVault běží, použijte jeho sadu pro obnovu šifrovacího klíče na jedno kliknutí (viz Mimo lokalitu a obnova) k uložení kompletního balíčku pro obnovu.
Šablona za vás také připojí Docker socket, flash (/boot) a kořen Host Data (/mnt). Zdroje i cíle záloh žijí pod Host Data. Kompletní referenci proměnných a nastavení mimo lokalitu najdete v Konfiguraci.
První spuštění¶

Přehled po první záloze: co je chráněno, co poběží dál a živý protokol.
- Otevřete webové rozhraní na
https://<your-unraid-ip>:3443(samopodepsaný certifikát rovnou z krabice). - V Nastavení povolte zálohovací domény, které chcete (Kontejnery, VMs, Flash, Autozáloha, Složky, Datové sady ZFS), a vyberte barvu zvýraznění.
- V záložce Kontejnery vyberte kontejner a klikněte na Zálohovat nyní pro vytvoření svého prvního bodu obnovení. Cesty repozitářů mají výchozí hodnotu
/mnt/user/bombvault/{container,vms,flash,config,files,zfs}a vytvoří se při první záloze. - Nastavte plánování v Nastavení, Plány. Pro kontejnery a VM je k dispozici Zahrnout vše do plánu na jedno kliknutí.
Volitelné: zvolte pořadí zálohování
Pokud by se některé kontejnery měly vždy zálohovat před ostatními (například databáze před aplikací, která ji používá), otevřete panel Pořadí záloh na stránce Kontejnery a přetáhněte je do požadované sekvence. Naplánované běhy a běhy s vícenásobným výběrem se jím pak řídí; cokoli neuspořádaného se zálohuje od nejvíce po termínu, jako dříve.
Kontrola integrace hostitele
Po spuštění kontejneru otevřete /spike ve webovém rozhraní. Prozkoumá každé připojení a CLI (Docker socket, libvirt, restic, qemu-img, rclone) a nahlásí případné chybějící části, takže si můžete potvrdit, že je kontejner správně zapojen, dříve než se na něj budete spoléhat.
Jednoduché vs. pokročilé¶

Nastavení nemá tlačítko Uložit: každá změna se zapíše hned.
Ve výchozím nastavení rozhraní zobrazuje jen to nejnutnější (zálohovat, obnovit, plánovat). Použijte přepínač Jednoduché zobrazení / Pokročilé zobrazení v postranním panelu k odhalení expertních ovládacích prvků: uchovávání, kopie mimo lokalitu, pre/post hooky, obnova na úrovni souborů, oznámení, metriky Prometheus a nástroje integrity/údržby. Jde o předvolbu na úrovni prohlížeče, ve výchozím stavu vypnutou, takže nováčci dostanou čisté UI a pokročilí uživatelé dostanou vše.
Sestavení ze zdrojového kódu¶
BombVault je jediná statická binárka v Go, která obsluhuje JSON API a vestavěné rozhraní v Reactu. Nejprve sestavte rozhraní, pak spusťte binárku:
npm --prefix web ci
npm --prefix web run build # writes web/dist, which the binary embeds
export APP_KEY=$(openssl rand -hex 32)
go test ./... # unit and integration tests, with a real restic round trip
golangci-lint run ./...
go run ./cmd/bombvault # serves https://localhost:3443 with a self-signed certificate
Sestavení rozhraní je potřeba i pro go run. Repozitář obsahuje pod web/dist jen prázdnou značku, takže bez npm --prefix web run build binárka nic nevloží a odpoví 500 SPA index not found, což je očekávané. Docker, libvirt a Unraid nejde v CI otestovat, takže připojení, restic a SSH spojení k VM ověřte na skutečném hostiteli pomocí Kontroly integrace hostitele (/spike), než otevřete pull request.
Další kroky¶
- Projděte si kompletní Funkce.
- Dejte si všechny servery své skupiny do telefonu s aplikací pro Android.
- Přidejte jednu nebo více replik Mimo lokalitu a obnova (každá doména může odesílat na několik cílů najednou) a uložte si svou sadu pro obnovu.
- Klonujete sestavu nebo přecházíte na nový stroj? Přeneste celou svou konfiguraci pomocí karty Export / import nastavení. Viz Konfigurace.
- Narazili jste na problém? Viz Řešení problémů.