Kom i gang¶
Denne siden tar deg fra en ny Unraid-boks til din første sikkerhetskopi.
Krav¶
| Krav | Merknader |
|---|---|
| Unraid 6.12+ | Tidligere versjoner er ikke testet. Unraid er hovedmålet, men BombVault kjører også på en vanlig Docker-vert og på TrueNAS Scale (se Generisk Docker-vert). |
| Plassering for restic-repo | En lokal sti (anbefalt: array-et eller cachen din), SMB, NFS eller en hvilken som helst rclone-backend. |
| Docker-socket | Monteres automatisk av malen (/var/run/docker.sock). |
Unraid-flash (/boot) |
Monteres i sin helhet automatisk av malen (/boot til /host/boot). Driver flash-sikkerhetskopiering og lar en gjenopprettet container dukke opp igjen som en normal, redigerbar Unraid-app. |
| KVM-VM-er (valgfritt) | VM-sikkerhetskopiering snakker med libvirt over SSH, ingen libvirt-montering. Sett det opp i Innstillinger (se Konfigurasjon). |
| ZFS-datasett (valgfritt) | Den samme SSH-forbindelsen som for VM-sikkerhetskopier, zfs på verten og Host Data tilordnet som /mnt med tilgangsmodusen Read/Write - Slave, malens standard. Se ZFS-datasett. |
| Android-app (valgfritt) | Android 10 eller nyere, paret med servere på versjon 9.7.0 eller nyere. Se Android-app. |
Installer på Unraid¶
Den enkleste veien er Community Applications.
- Åpne Apps-fanen i Unraid.
- Søk etter BombVault.
- Klikk Install, sett de påkrevde variablene (nedenfor), og bruk.
Manuell malinstallasjon
Hvis du foretrekker å legge til malen manuelt:
- Gå til Docker, Add Container, Template repositories og legg til:
- Søk etter BombVault i Templates.
- Sett de påkrevde variablene og klikk Apply.
Generisk Docker-vert¶
Ikke Unraid? BombVault kjører også som en vanlig container på hvilken som helst Docker-vert (det er også det som bærer containerstøtten på TrueNAS Scale, i påvente av en egen oppføring i app-katalogen der).
- Hent den redigeringsklare
deploy/docker-compose.generic.ymlfra arkivet. - Sett
APP_KEY(se nedenfor) og pek Host Data-volumet mot din virkelige datarot: kommentarene i filen går gjennom begge deler. docker compose up -d, åpne deretterhttps://<vert-ip>:3443/.
Hva som er annerledes enn på Unraid:
- Ingen flash-/USB-domene. Det finnes ingen oppstarts-USB å fange inn eller gjenopprette, så Flash-domenet i innstillingene har ingenting å gjøre her. I stedet tilbyr Mapper-domenet ettklikksforslaget Legg til forhåndsinnstilling: vertssystemets konfigurasjon (et sett
/etc-filer å begynne med, som du går gjennom og redigerer før du lagrer) som praktisk generisk motstykke. - Ingen Unraid-egne varsler. BombVaults egne varselkanaler (webhook, varsler om mislykket off-site og lignende) virker som vanlig; bare den Unraid-spesifikke meldingen til dens eget varselsystem utelates, siden et slikt system ikke finnes her.
- Sikkerhetskopiering av virtuelle maskiner er valgfri og trenger en egen libvirtd-vert som er nåbar over SSH. Se den utkommenterte blokken i compose-filen. En generisk Docker-vert har ingen innebygd VM-håndtering.
- Ingen dashboard-widget. BombVault Widget er en Unraid-plugin, så det trinnet hoppes også over.
- Finne dataene til en container. Uten Unraids
appdata-konvensjon finnes datamappen til en container ut fra segmentene iDATA_ROOT_SEGMENTS, navngitte Docker-volumer, arbeidskatalogen til et Compose-prosjekt og etikettenbombvault.data(se Gjenkjenning av sikkerhetskopiens kilder). Navngitte volumer og/etc-forhåndsinnstillingen når bare stier innenfor Host Data-monteringen, så pek Host Data mot en felles overordnet mappe som også dekker datarotkatalogen til Docker. PLATFORM. Sett den tilgenericellertruenas. Uten verdi kjenner BombVault igjen Unraid på dens egen markør på flash-monteringen og behandler alt annet som generisk, og trinnene som bare gjelder Unraid, hoppes over i stedet for å bli forsøkt og feile.
TrueNAS Scale følger den samme compose-veien; en katalogoppføring er forberedt i arkivet, men ikke sendt inn ennå. VM-sikkerhetskopiering krever der LIBVIRT_URI, fordi libvirtd i TrueNAS lytter på sin egen socket (/run/truenas_libvirt/libvirt-sock) som de tre LIBVIRT_*-variablene ikke kan uttrykke (se Konfigurasjon). Så langt er dette bevist: zvol-sikkerhetskopien ble kjørt mot en ekte TrueNAS Scale-boks, på en zvol koblet til en kjørende VM, og zfs snapshot, zfs send, restic og zfs receive tok den fram og tilbake byte for byte. En fullstendig gjenoppretting styrt av BombVault selv er ennå ikke kjørt på TrueNAS-maskinvare, og den zvol-en var tynt allokert, så gjennomstrømningen ved mange gigabyte er ikke testet. Test en gjenoppretting der før du stoler på den.
Den ene påkrevde innstillingen¶
Den eneste variabelen du må sette, er APP_KEY, en 32-byte hex-hemmelighet (64 hex-tegn) som brukes til å utlede passordet til restic-repositoriet.
Generer en på en hvilken som helst maskin:
Lim resultatet inn i APP_KEY-feltet i malen (Unraid), eller i miljøvariabelen APP_KEY i docker-compose.yml (generisk Docker-vert).
Ikke mist APP_KEY-en din
Å miste APP_KEY gjør de krypterte sikkerhetskopiene dine umulige å gjenopprette. Oppbevar den et trygt sted og adskilt fra serveren. Når BombVault kjører, bruk dens ett-klikks gjenopprettingssett for krypteringsnøkkel (se Ekstern lagring og gjenoppretting) for å lagre hele gjenopprettingspakken.
Malen monterer også Docker-socketen, flashen (/boot) og Host Data-roten (/mnt) for deg. Sikkerhetskopi-kilder og -destinasjoner ligger begge under Host Data. For den fullstendige variabelreferansen og oppsettet for ekstern lagring, se Konfigurasjon.
Første kjøring¶

Panelet etter en første sikkerhetskopi: hva som er beskyttet, hva som kjører neste gang, og en levende logg.
- Åpne webgrensesnittet på
https://<your-unraid-ip>:3443(selvsignert sertifikat rett ut av boksen). - I Innstillinger, aktiver sikkerhetskopidomenene du vil ha (Kontainere, VM-er, Flash, Auto-sikkerhetskopi, Mapper, ZFS-datasett) og velg en aksentfarge.
- På Containere-fanen, velg en container og klikk Sikkerhetskopier nå for å lage ditt første gjenopprettingspunkt. Repository-stier har som standard
/mnt/user/bombvault/{container,vms,flash,config,files,zfs}og opprettes ved den første sikkerhetskopieringen. - Sett opp planlegging fra Innstillinger, Tidsplaner. Det finnes en ett-klikks Inkluder alle i tidsplan for containere og VM-er.
Valgfritt: velg en sikkerhetskopieringsrekkefølge
Hvis noen containere alltid skal sikkerhetskopieres før andre (for eksempel en database før appen som bruker den), åpne Rekkefølge for sikkerhetskopiering-panelet på Kontainere-siden og dra dem inn i rekkefølgen du ønsker. Planlagte og flervalgs-kjøringer følger den deretter; alt du lar stå urangert, sikkerhetskopieres mest-forfalt-først, som før.
Host-integrasjonssjekk
Åpne /spike i webgrensesnittet etter at containeren har startet. Den sonderer hver montering og hvert CLI (Docker-socket, libvirt, restic, qemu-img, rclone) og rapporterer manglende deler, slik at du kan bekrefte at containeren er riktig koblet opp før du stoler på den.
Enkel vs. Avansert¶

Innstillingene har ingen Lagre-knapp: hver endring skrives mens du gjør den.
Som standard viser grensesnittet bare det essensielle (sikkerhetskopier, gjenopprett, planlegg). Bruk Enkel visning / Avansert visning-bryteren i sidefeltet for å avdekke ekspertkontrollene: oppbevaring, ekstern kopi, pre/post-hooks, gjenoppretting på filnivå, varsler, Prometheus-metrikker og integritets-/vedlikeholdsverktøyene. Det er en innstilling per nettleser og av som standard, så nykommere får et rent grensesnitt og erfarne brukere får alt.
Bygge fra kildekode¶
BombVault er én statisk Go-binærfil som leverer et JSON-API og et innebygd React-grensesnitt. Bygg grensesnittet først, og kjør deretter binærfilen:
npm --prefix web ci
npm --prefix web run build # skriver web/dist, som binærfilen bygger inn
export APP_KEY=$(openssl rand -hex 32)
go test ./... # enhets- og integrasjonstester, med en ekte restic-runde fram og tilbake
golangci-lint run ./...
go run ./cmd/bombvault # leverer https://localhost:3443 med et selvsignert sertifikat
Grensesnittbygget trengs også for go run. Arkivet inneholder bare en tom markør under web/dist, så uten npm --prefix web run build bygger binærfilen ikke inn noe og svarer 500 SPA index not found, og det er forventet. Docker, libvirt og Unraid kan ikke testes i CI, så sjekk monteringer, restic og SSH-forbindelsen for VM-er på en ekte vert med host-integrasjonssjekken (/spike) før du åpner en pull request.
Neste steg¶
- Bla gjennom alle Funksjoner.
- Ha alle servere i gruppen din på telefonen med Android-appen.
- Legg til én eller flere Ekstern lagring og gjenoppretting-replikaer (hvert domene kan sende til flere destinasjoner samtidig) og lagre gjenopprettingssettet ditt.
- Kloner du et oppsett eller flytter til en ny boks? Ta med hele konfigurasjonen din via kortet Eksporter / importer innstillinger. Se Konfigurasjon.
- Støtt på et problem? Se Feilsøking.