Funzionalità¶
BombVault è semplice di default e profondo quando serve. L'interfaccia mostra solo l'essenziale finché non attivi l'interruttore Semplice / Avanzata. Questa pagina raggruppa l'insieme completo delle funzionalità.
Ambito del backup¶
| Cosa | Cosa viene salvato |
|---|---|
| Container Docker | La directory appdata più la definizione del container (immagine, variabili d'ambiente, porte, label, volumi). |
| VM KVM / libvirt | L'immagine (o le immagini) disco della VM, la definizione XML e la NVRAM UEFI (spegnimento ordinato o snapshot a caldo, via SSH). Gli snapshot a caldo ripiegano automaticamente su un backup ordinato se lo snapshot non può essere creato, così un backup di VM non va mai semplicemente in errore. |
| Flash Unraid | L'intera chiavetta USB flash (/boot): SO, licenza, configurazione dell'array, condivisioni, rete e configurazione dei plugin. Il ripristino è un download .zip con un clic e non sovrascrive mai il flash in esecuzione. |
| Configurazione dell'app | Il /config di BombVault stesso (database delle impostazioni, credenziali off-site, coppia di chiavi SSH di libvirt), di cui viene fatto uno snapshot con VACUUM INTO di SQLite così che un database in modalità WAL non venga mai catturato durante una scrittura. Ripristinato tramite un auto-riavvio, così il database in esecuzione non viene mai sovrascritto sotto un handle aperto. |
| File e cartelle | Set di file con nome: qualsiasi cartella sul server (una condivisione, i tuoi documenti, una libreria di foto), ciascuno con pattern di esclusione opzionali per set. Piena parità con gli altri domini (calendari, conservazione, copia off-site, controlli di integrità ed esercitazioni di ripristino). |
Ripristino¶
- Ripristino completo con un clic. Scegli uno snapshot, clicca Ripristina. Fatto.
- Ripristino da locale o off-site. Ogni browser dei backup ha un interruttore Locale / Off-site, così se un repo locale è perso o corrotto puoi elencare e ripristinare direttamente dalla replica off-site. L'eliminazione è per sorgente: rimuovere un backup interessa solo la copia che stai visualizzando.
- I container vengono reinstallati automaticamente. La definizione del container viene rieseguita contro l'API Docker, così il container riappare nella scheda Docker di Unraid esattamente com'era.
- Le VM vengono ricreate automaticamente. L'XML viene reimportato via SSH così la VM riappare nel VM Manager con il suo disco e la NVRAM UEFI ricollegati, anche dopo che la VM è stata eliminata. Scopri backup ricostruisce una voce che è del tutto scomparsa (per esempio dopo un'installazione pulita).
- Ripristino individuale. Ripristina un container, una VM o un set di file senza toccare gli altri.
- Il ripristino del flash è un download
.zip. Viene trasmesso al tuo browser comeflash-<id>.zip, pronto per essere depositato nel creatore USB di Unraid. Il/bootin esecuzione non viene mai toccato. - Esportazione zip del flash pianificata. Dopo ogni backup del flash, puoi facoltativamente scrivere lo snapshot come semplice
.zipin una cartella a tua scelta (un unicoflash-latest.zipsovrascritto o una cronologia a rotazione). Puntala a una cartella Syncthing o rclone così il tuo backup della USB avviabile lascia il server automaticamente. - Verifica dei conflitti pre-volo. Prima che qualcosa venga fermato o rimosso, il ripristino verifica che l'IP statico del container e le porte host pubblicate siano liberi, e si interrompe con un messaggio chiaro invece di lasciare un ripristino a metà.
- Ripristino a livello di file. Espandi i File di uno snapshot di container, filtra, spunta un numero qualsiasi di file e cartelle, poi ripristina la selezione nella posizione originale o in una cartella a tua scelta.
- Ripristino di set di file. Ripristina uno snapshot di un set di file nella posizione originale (dopo una conferma esplicita) o in una cartella a tua scelta, mai in silenzio. Anche qui funziona il ripristino selettivo.
- Il ripristino mantiene lo stato di esecuzione. Un container o una VM che era in esecuzione al momento del backup torna in esecuzione; uno che era fermo resta fermo. Spunta Lascia fermo dopo il ripristino per ricreare senza avviare.
- Ripristino di un intero stack. I container dello stesso progetto Docker Compose vengono raggruppati in un pannello Stack. Ripristina stack ricostruisce ogni membro dal suo ultimo backup lasciato fermo, poi facoltativamente li avvia in ordine
depends_on. - Progresso dal vivo, annullamento e feedback di occupazione. Un ripristino lungo mostra una barra di percentuale dal vivo e può essere annullato con una conferma consapevole del tipo. Un ripristino annullato viene registrato come annullato, non fallito.
- Ripristino guidato. Una scheda Ripristino dedicata accompagna un'installazione pulita attraverso il caso di disastro. Vedi Off-site e ripristino.
- Ripristino da un altro repo BombVault. Una sessione monouso e in sola lettura apre il repo di un'altra istanza BombVault con l'
APP_KEYdi quell'istanza, così puoi estrarre un container dal server A al server B senza toccare le tue impostazioni. Vedi Off-site e ripristino.
Archiviazione e pianificazione¶
- Backup incrementali e deduplicati tramite restic, così anche i dischi VM di grandi dimensioni non gonfiano il repo.
- Destinazioni: un percorso locale, oppure off-site. SMB/CIFS e NFS (monta la condivisione su Unraid e puntaci un Percorso di backup), backend restic nativi senza rclone (
s3:...,rest:http://host:8000/repo,b2:...,sftp:user@host:/repo), o qualsiasi remote rclone tramiterclone:<remote>:<bucket>/path. Tutte le credenziali vengono memorizzate cifrate. - Le destinazioni SSH non richiedono nulla di installato sull'altro lato.
sftp:richiede solo un server SSH, così un semplice Raspberry Pi (senza Docker, senza restic) funziona come destinazione off-site. Le chiavi host vengono fissate automaticamente al primo contatto. - Copia off-site (locale + remota). Mantieni il backup locale veloce e aggiungi una o più repliche off-site, replicate con
restic copysu base best-effort (un intoppo off-site non fa mai fallire il backup locale). Ogni dominio ha il proprio calendario off-site, più un pulsante Replica ora. - Più destinazioni off-site per dominio. Ogni dominio (container, VM, flash, config e set di file) può replicare verso più destinazioni off-site contemporaneamente, non solo una. Aggiungi destinazioni extra nella scheda Off-site, ciascuna con il proprio repository, classe di archiviazione S3, flag append-only, conservazione e budget di crescita. La tua copia off-site esistente viene riportata come prima destinazione, così nulla cambia finché non ne aggiungi una seconda, e ogni destinazione di un dominio replica secondo il calendario off-site di quel dominio.
- Ordine di backup manuale. Imposta l'ordine esatto in cui i tuoi container vengono sottoposti a backup dal pannello ordine di backup nella pagina Container. Le esecuzioni pianificate e a selezione multipla lo seguono; qualsiasi container che lasci non ordinato mantiene il precedente comportamento dal più in ritardo per primo, e un backup di un singolo container è invariato.
- Conservazione configurabile: keep-last / giornalieri / settimanali / mensili, potati automaticamente dopo ogni backup, impostati per sorgente (locale accanto ai percorsi di backup, off-site nella scheda Off-site così puoi conservare le copie off-site più a lungo come archivio).
- Pianificazione per dominio (giornaliera / settimanale inclusi set multi-giorno / ogni-N-giorni / cron grezzo), tutto modificato in un unico posto su Impostazioni, Calendari.
- Limiti di banda off-site. Limita la velocità di upload/download di restic così la replica non satura la tua WAN.
- Classe di archiviazione fredda e d'archivio (S3). Per un repo off-site S3 nativo puoi scegliere la classe di archiviazione, ristretta ai livelli leggibili in ripristino (Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval) così i prezzi d'archivio non compromettono mai silenziosamente un ripristino. I livelli deep-archive che richiedono prima uno scongelamento asincrono (Glacier Flexible, Deep Archive) sono intenzionalmente esclusi. Solo backend S3 nativi; i remote rclone impostano la loro classe nella configurazione rclone.
- Le cartelle di backup restano copiabili fuori dalla macchina. Dopo ogni backup BombVault rilassa l'albero del repo locale a dir
0755/ file0644(i repo sono cifrati, quindi nulla è esposto) così un utente di sincronizzazione non-root via SMB non resta escluso. Le definizioni di ripristino risiedono dentro ogni repo, così una cartella di repo copiata è completamente autonoma.
Insight, verifica e monitoraggio¶
- Stato di protezione (RPO). La Dashboard mostra un indicatore verde / ambra / rosso per dominio, confrontando l'ultimo backup riuscito con il suo calendario, così un backup in ritardo diventa rosso invece di nascondersi in un log.
- Heatmap della salute dei backup. Un calendario in stile contributi GitHub degli esiti dei backup per giorno e per dominio, con un interruttore Container / VM / Flash / Config / File.
- Tempi di esecuzione ovunque. Ogni voce della cronologia esecuzioni riporta
inizio, fine (durata), e ogni container e VM porta il proprio elenco Esecuzioni recenti sulla sua pagina. - Una dashboard che puoi riorganizzare. Attiva la modalità di personalizzazione per trascinare le schede nell'ordine che vuoi e nascondere quelle che non ti servono. Il layout viene salvato per browser.
- Dimensione del repository e trend di dedup. Dimensione attuale del repo, rapporto di deduplicazione e conteggio degli snapshot per dominio, con una sparkline della crescita dell'archiviazione.
- Esercitazioni di verifica del ripristino. BombVault dimostra periodicamente che i tuoi backup sono ripristinabili (
restic check --read-data-subset, limitato) e mostra un badge ultima ripristinabilità verificata per dominio. - Operazioni auto-riparanti. Un lock restic dimostrabilmente orfano (lasciato da un riavvio a metà operazione) viene forzatamente rimosso e ritentato una volta, automaticamente. La conservazione è stabile per identità (potata per elemento, immune ai cambi di percorso o host) e un fallimento della conservazione invia una notifica.
- Kit di ripristino della chiave di crittografia. Download con un clic della chiave master, della password restic derivata e delle posizioni e comandi esatti del repo, così puoi ripristinare senza un BombVault in esecuzione. Vedi Off-site e ripristino.
- Esporta e importa le tue impostazioni. Una scheda Esporta e importa impostazioni nella pagina Impostazioni scrive l'intera configurazione (impostazioni di dominio, destinazioni off-site, calendari, conservazione, notifiche) in un file JSON portatile, così passare a una nuova macchina o clonare una configurazione non significa reinserire tutto a mano. Scegli tu se includere le credenziali off-site e di notifica; con esse il file è sensibile quanto il tuo kit di ripristino. L'importazione mostra un'anteprima e chiede conferma, e non tocca mai i tuoi dati di backup o la cronologia.
- Notifiche. Webhook (Discord / Slack / Gotify / ntfy), Matrix, Healthchecks.io, email (SMTP), un server Apprise API self-hosted, e il sistema di notifiche nativo di Unraid. Policy per backup: mai / in caso di errore / sempre. Un'esecuzione pianificata di molti elementi può inviare un unico riepilogo N di M riusciti. Healthchecks riceve l'intero ciclo di vita (
/start, poi successo o/fail) ogni volta che è impostato un URL. - Prometheus
/metrics. Opt-in (disattivato di default, bearer token opzionale) per Grafana o Uptime Kuma. Espone stato dei backup, dimensioni e timestamp, senza segreti o percorsi nelle label.
Protezione dal ransomware¶
- Off-site immutabile (append-only). Contrassegna un repo off-site come append-only così ransomware o un host compromesso non possano eliminare o riscrivere i tuoi backup. L'altro lato (un
restic/rest-serverin modalità--append-only) lo impone; BombVault lo verifica soltanto e non mostra mai verde sulla sola affermazione di una configurazione. - Tamper test. BombVault dimostra periodicamente la garanzia append-only tentando effettivamente un'eliminazione contro il repo off-site (mirata a un oggetto inesistente): rifiutata significa protetto, accettata significa non protetto. Un risultato inconcludente non ribalta mai il verdetto memorizzato.
- Configurazione off-site guidata. Una procedura guidata ti accompagna dalla scelta del backend attraverso uno snippet di deploy del rest-server pronto da incollare, un test di connessione, l'interruttore immutabile e una strategia di conservazione.
- Esercitazioni DR (off-site). Ripristina una destinazione reale dal repo off-site in una sandbox usa e getta, verificala file per file e byte per byte, poi ripulisci. Vedi Off-site e ripristino.
- Scorecard della protezione dal ransomware. Una scheda della Dashboard con una postura verde / ambra / rossa per dominio e una checklist con marca temporale; ogni riga rossa collega direttamente alla soluzione. Diventa verde solo su fatti verificati.
- Allarme del budget di crescita. Per un off-site immutabile (dove i vecchi snapshot non vengono deliberatamente mai potati), imposta un budget di dimensione e ricevi un avviso prima che sfugga di mano.
- Dashboard ricevente (lato ricevente). Sulla macchina che riceve copie off-site immutabili da un altro BombVault, attiva l'interruttore Ricevente (Impostazioni) per rivelare una scheda Ricevente. Registra un repository ricevuto in sola lettura (aperto con la chiave dell'istanza mittente) per vedere il suo inventario di snapshot raggruppato per sorgente, quando ogni sorgente è arrivata l'ultima volta, ed eseguire un
restic checkindipendente sull'hardware ricevente. Ti avvisa quando una sorgente smette di inviare entro una finestra che imposti (un dead-man's switch) o quando un controllo di integrità fallisce. Rigorosamente in sola lettura, così non scrive mai nel repository ricevuto, e disattivato di default. Vedi Off-site e ripristino.
Esportazioni in chiaro¶
- Esportazione in chiaro di container. Un pulsante Esporta per container scrive una copia sfogliabile e senza bisogno di strumenti accanto al repo:
<name>.tar.gzdelle cartelle di backup più il template Unraid<name>.xml. Restic resta il motore; questa è una copia di comodità aggiuntiva. - Esportazione in chiaro di VM. Le VM hanno lo stesso Esporta (tar semplice):
<name>.tar.gzdell'immagine (o delle immagini) disco più<name>.xml, ripristinabile convirsh definepiù il disco, senza bisogno di BombVault o restic. - Cifra le esportazioni in chiaro (age). Le esportazioni stanno fuori da restic, quindi sono in chiaro di default. Attiva la cifratura age sotto Impostazioni e aggiungi uno o più destinatari (una chiave pubblica age o una chiave pubblica SSH). Ogni esportazione (
.tar.gzdi container e VM, i loro sidecar.xmle lo ZIP del flash) viene poi sigillata per quei destinatari, e la decifri in seguito fuori dalla macchina con la chiave privata corrispondente. Come regola di sicurezza, con la cifratura attiva e nessun destinatario valido impostato, un'esportazione fallisce con un errore chiaro invece di scrivere mai testo in chiaro.
Altro¶
- Backup di molti in una volta. Seleziona più container e premi Backup selezione. Il batch gira lato server, così continua anche se chiudi la scheda o perdi la connessione. BombVault non esegue mai il backup (e quindi non ferma mai) del proprio container.
- Browser degli snapshot con un elenco di punti di ripristino, eliminazione per snapshot e un albero di cartelle richiudibile per il ripristino a livello di file.
- Manutenzione del repository per dominio: Verifica (
restic check), Sblocca (rimuove un lock bloccato) e Pota (applica la policy di conservazione su richiesta quando ne è impostata una, altrimenti un semplice recupero di spazio). - Hook pre/post-backup per container. Comandi shell eseguiti dentro il container (per esempio
mysqldumpin appdata prima del backup); un pre-hook fallito annulla il backup. - Ferma altri container durante il backup, con un riavvio gestito dallo stato di salute. Nomina i container dipendenti (per esempio un database) da fermare mentre questo viene sottoposto a backup. In seguito BombVault li riporta nel loro ordine
depends_ondi Compose e, di default, attende che ciascuno segnali di essere sano (o in esecuzione, se non ha healthcheck) prima di avviare i container che dipendono da esso, così una dipendenza come Pi-hole, un database o un gateway VPN è effettivamente attiva prima dei servizi che ne hanno bisogno, invece che questi tornino a un connection refused. L'attesa è limitata da un timeout per container (120 secondi di default) così un container lento o mai sano non può mai bloccare l'esecuzione; sia l'attesa che il timeout risiedono su Impostazioni, Calendari (disattiva l'attesa per il precedente riavvio tutto-in-una-volta). Lo stesso riavvio ordinato e gestito dallo stato di salute avvolge anche l'aggiornamento dell'immagine post-backup, così in un giorno in cui arriva un aggiornamento i dipendenti vengono tenuti fermi durante la ricreazione e riportati su, gestiti dallo stato di salute, solo una volta terminata. - Pattern di esclusione per container. Elenca le sottodirectory da saltare dentro un volume sottoposto a backup, una per riga. Digita i percorsi come li vedi dentro il container; un'anteprima dal vivo mostra a cosa si risolve ogni riga e avvisa quando una riga non escluderebbe nulla.
- Aggiorna dopo un backup riuscito (avanzato, disattivato di default). Attivalo su un container e BombVault scarica l'immagine più recente e lo ricrea, ma solo quando c'è effettivamente un'immagine più nuova, così esiste sempre prima un punto di ripristino fresco. Extra opzionali: una notifica per container aggiornato e la pulizia dell'immagine (un'immagine base condivisa da altri container non viene mai eliminata). Dopo l'aggiornamento BombVault chiede anche a Unraid di ricontrollare lo stato di aggiornamento di quel container, così il banner aggiornamento disponibile obsoleto della scheda Docker si cancella da sé invece di persistere (gli aggiornamenti Unraid passano direttamente attraverso l'API Docker, quindi il suo stato in cache, e su alcune versioni un digest in cache, continuerebbe altrimenti a mostrare il banner). È best-effort, non influisce mai sul backup, attivato di default e ha un interruttore in Impostazioni.
- Ripristino in una cartella alternativa per clonazione o ispezione.
- Diff e tag degli snapshot. Confronta due snapshot per vedere cosa è cambiato, e assegna tag agli snapshot per filtrarli.
- Novità dopo un aggiornamento. Le note di rilascio compaiono una volta per ogni nuova versione, servite da note incorporate nel binario, così la finestra funziona offline.
- HTTPS pronto all'uso (autofirmato, o porta il tuo certificato dietro un reverse proxy).
- Healthcheck Docker. Il container segnala sano/non sano dal proprio
/api/health, così uno strumento di auto-heal può riavviarlo se il motore dovesse mai incepparsi. - Interfaccia scura/chiara in 26 lingue con un selettore di bandiere.