Gå til indholdet

Kom godt i gang

Denne side fører dig fra en frisk Unraid-boks til din første sikkerhedskopi.

Krav

Krav Bemærkninger
Unraid 6.12+ Tidligere versioner er ikke testet. Unraid er hovedmålet, men BombVault kører også på en almindelig Docker-vært og på TrueNAS Scale (se Generisk Docker-vært).
Restic-repo-placering En lokal sti (anbefalet: dit array eller cache), SMB, NFS eller en hvilken som helst rclone-backend.
Docker-socket Monteres automatisk af skabelonen (/var/run/docker.sock).
Unraid-flash (/boot) Monteres i sin helhed automatisk af skabelonen (/boot til /host/boot). Driver flash-sikkerhedskopiering og lader en gendannet container dukke op igen som en normal, redigerbar Unraid-app.
KVM-VM'er (tilvalg) VM-sikkerhedskopiering taler med libvirt over SSH, ingen libvirt-montering. Sæt det op i Indstillinger (se Konfiguration).
ZFS-datasæt (tilvalg) Den samme SSH-forbindelse som til VM-sikkerhedskopier, zfs på værten og Host Data tilknyttet som /mnt med adgangstilstanden Read/Write - Slave, skabelonens standard. Se ZFS-datasæt.
Android-app (valgfri) Android 10 eller nyere, parret med servere på version 9.7.0 eller nyere. Se Android-app.

Installer på Unraid

Den nemmeste vej er Community Applications.

  1. Åbn fanen Apps i Unraid.
  2. Søg efter BombVault.
  3. Klik på Install, angiv de nødvendige variabler (nedenfor), og anvend.

Manuel skabeloninstallation

Hvis du foretrækker at tilføje skabelonen manuelt:

  1. Gå til Docker, Add Container, Template repositories, og tilføj:
    https://github.com/junkerderprovinz/unraid-apps
    
  2. Søg efter BombVault under Templates.
  3. Angiv de nødvendige variabler, og klik på Apply.

Generisk Docker-vært

Ikke Unraid? BombVault kører også som almindelig container på enhver Docker-vært (det er også det, der bærer containerunderstøttelsen på TrueNAS Scale, forud for en egen post i dens app-katalog).

  1. Hent den redigeringsklare deploy/docker-compose.generic.yml fra arkivet.
  2. Sæt APP_KEY (se nedenfor) og peg Host Data-diskenheden på din rigtige datarod: kommentarerne i filen gennemgår begge dele.
  3. docker compose up -d, åbn derefter https://<vært-ip>:3443/.

Hvad der er anderledes end på Unraid:

  • Intet flash-/USB-domæne. Der er ingen boot-USB at indfange eller genskabe, så Flash-domænet i indstillingerne har intet at lave her. I stedet tilbyder Mapper-domænet etklik-forslaget Tilføj forudindstilling: værtssystemets konfiguration (et sæt /etc-filer til at begynde med, som du gennemgår og retter, før du gemmer) som praktisk generisk modstykke.
  • Ingen Unraid-egne meddelelser. BombVaults egne meddelelseskanaler (webhook, advarsler om mislykket off-site og lignende) virker som sædvanlig; kun den Unraid-specifikke besked til dens eget meddelelsessystem udelades, da et sådant system ikke findes her.
  • Sikkerhedskopiering af virtuelle maskiner er valgfri og kræver en separat libvirtd-vært, der kan nås over SSH. Se den udkommenterede blok i compose-filen. En generisk Docker-vært har ingen indbygget VM-styring.
  • Ingen dashboard-widget. BombVault Widget er et Unraid-plugin, så det trin springes også over.
  • At finde en containers data. Uden Unraids appdata-konvention findes en containers datamappe ud fra segmenterne i DATA_ROOT_SEGMENTS, navngivne Docker-volumener, et Compose-projekts arbejdsmappe og labelen bombvault.data (se Genkendelse af sikkerhedskopiernes kilder). Navngivne volumener og /etc-forudindstillingen når kun stier inden for Host Data-monteringen, så peg Host Data på en fælles overordnet mappe, der også dækker Dockers datarod.
  • PLATFORM. Sæt den til generic eller truenas. Uden værdi genkender BombVault Unraid på dets egen markør på flash-monteringen og behandler alt andet som generisk, og de trin, der kun gælder Unraid, springes over i stedet for at blive forsøgt og fejle.

TrueNAS Scale følger den samme compose-vej; en katalogpost er forberedt i repositoriet, men endnu ikke indsendt. VM-sikkerhedskopiering kræver dér LIBVIRT_URI, fordi TrueNAS' libvirtd lytter på sin egen socket (/run/truenas_libvirt/libvirt-sock), som de tre LIBVIRT_*-variabler ikke kan udtrykke (se Konfiguration). Så langt er det afprøvet: zvol-sikkerhedskopien blev kørt mod en rigtig TrueNAS Scale-boks, på en zvol tilsluttet en kørende VM, og zfs snapshot, zfs send, restic og zfs receive førte den frem og tilbage byte for byte. En komplet gendannelse styret af BombVault selv er endnu ikke kørt på TrueNAS-hardware, og den zvol var tyndt allokeret, så gennemstrømningen ved mange gigabyte er ikke testet. Test en gendannelse dér, før du stoler på den.

Den ene påkrævede indstilling

Den eneste variabel, du skal angive, er APP_KEY, en 32-byte hex-hemmelighed (64 hex-tegn), der bruges til at udlede restic-repositoriets adgangskode.

Generer en på en hvilken som helst maskine:

openssl rand -hex 32

Indsæt resultatet i skabelonens APP_KEY-felt (Unraid) eller i miljøvariablen APP_KEY i docker-compose.yml (generisk Docker-vært).

Mist ikke din APP_KEY

Mister du APP_KEY, kan dine krypterede sikkerhedskopier ikke gendannes. Opbevar den et sikkert sted adskilt fra serveren. Når BombVault kører, kan du bruge dens ét-klik gendannelseskit til krypteringsnøglen (se Off-site og gendannelse) til at gemme den fulde gendannelsespakke.

Skabelonen monterer også Docker-socket'en, flashen (/boot) og Host Data-roden (/mnt) for dig. Både kilder og destinationer for sikkerhedskopier lever under Host Data. For den fulde variabelreference og off-site-opsætningen, se Konfiguration.

Første kørsel

Instrumentpanelet efter en første sikkerhedskopi: hvad der er beskyttet, hvad der kører nu, og en levende log.

Instrumentpanelet efter en første sikkerhedskopi: hvad der er beskyttet, hvad der kører nu, og en levende log.

  1. Åbn web-UI'en på https://<your-unraid-ip>:3443 (selvsigneret certifikat fra start).
  2. Aktivér i Indstillinger de sikkerhedskopidomæner, du vil have (Containers, VMs, Flash, Auto-sikkerhedskopi, Mapper, ZFS-datasæt), og vælg en accentfarve.
  3. Vælg en container på fanen Containers, og klik på Sikkerhedskopier nu for at oprette dit første gendannelsespunkt. Repository-stier defaulter til /mnt/user/bombvault/{container,vms,flash,config,files,zfs} og oprettes ved den første sikkerhedskopi.
  4. Opsæt planlægning fra Indstillinger, Tidsplaner. Der er en ét-klik Inkluder alle i tidsplanen for containere og VM'er.

Valgfrit: vælg en sikkerhedskopi-rækkefølge

Hvis nogle containere altid skal sikkerhedskopieres før andre (for eksempel en database før den app, der bruger den), så åbn panelet Rækkefølge for sikkerhedskopiering på Containers-siden, og træk dem ind i den ønskede rækkefølge. Planlagte og fler-valgs-kørsler følger den derefter; alt, du lader stå uordnet, sikkerhedskopieres mest-overskredet-først, som før.

Vært-integrationstjek

Åbn /spike i web-UI'en, når containeren er startet. Den prober hver montering og hvert CLI (Docker-socket, libvirt, restic, qemu-img, rclone) og rapporterer eventuelle manglende dele, så du kan bekræfte, at containeren er korrekt forbundet, før du forlader dig på den.

Simpel vs. Avanceret

Indstillingerne har ingen Gem-knap: hver ændring skrives, mens du laver den.

Indstillingerne har ingen Gem-knap: hver ændring skrives, mens du laver den.

Som standard viser grænsefladen kun det væsentlige (sikkerhedskopier, gendan, planlæg). Brug Enkel visning / Avanceret visning-kontakten i sidebjælken for at afsløre ekspertkontrollerne: opbevaring, off-site-kopi, pre/post-hooks, gendannelse på filniveau, notifikationer, Prometheus-metrics og integritets-/vedligeholdelsesværktøjerne. Det er en præference pr. browser og slået fra som standard, så nybegyndere får en ren UI, og power-brugere får det hele.

Byg fra kildekoden

BombVault er én statisk Go-binærfil, der leverer en JSON-API og en indlejret React-grænseflade. Byg grænsefladen først, og kør derefter binærfilen:

npm --prefix web ci
npm --prefix web run build     # skriver web/dist, som binærfilen indlejrer
export APP_KEY=$(openssl rand -hex 32)
go test ./...                  # enheds- og integrationstest, med en rigtig restic-tur frem og tilbage
golangci-lint run ./...
go run ./cmd/bombvault         # leverer https://localhost:3443 med et selvsigneret certifikat

Grænsefladebygget er også nødvendigt for go run. Repositoriet indeholder kun en tom markør under web/dist, så uden npm --prefix web run build indlejrer binærfilen intet og svarer 500 SPA index not found, hvilket er forventet. Docker, libvirt og Unraid kan ikke testes i CI, så kontrollér monteringer, restic og VM-SSH-forbindelsen på en rigtig vært med vært-integrationstjekket (/spike), før du åbner en pull request.

Næste skridt

  • Gennemse de fulde Funktioner.
  • Få alle servere i din gruppe på din telefon med Android-appen.
  • Tilføj en eller flere Off-site og gendannelse-replikaer (hvert domæne kan sende til flere destinationer på én gang), og gem dit gendannelseskit.
  • Kloner du en opsætning eller flytter til en ny boks? Bær hele din konfiguration over med kortet Eksportér / importér indstillinger. Se Konfiguration.
  • Løb ind i et problem? Se Fejlfinding.