Configurazione¶
Questa pagina copre le variabili d'ambiente del container, i mount forniti dal template, il backup delle VM via SSH e la configurazione off-site. I percorsi dei repository di backup si configurano dentro l'app (Impostazioni, Percorsi di backup), non tramite variabili d'ambiente.
Variabili d'ambiente¶
| Variabile | Richiesta | Descrizione |
|---|---|---|
APP_KEY |
Sì | Segreto esadecimale di 32 byte (64 caratteri esadecimali) usato per derivare la password del repo restic. Genera con openssl rand -hex 32. Tienilo al sicuro: perderlo rende i backup cifrati irrecuperabili. |
LIBVIRT_HOST |
Per le VM | Host Unraid raggiunto via SSH per il backup delle VM (predefinito host.docker.internal; il template precompila un placeholder di IP LAN). Usa l'IP LAN del tuo Unraid, richiesto su una rete br0.x personalizzata. |
LIBVIRT_SSH_PORT |
No | Porta SSH dell'host per il backup delle VM (predefinita 22). |
LIBVIRT_SSH_USER |
No | Utente SSH sull'host per il backup delle VM (predefinito root). |
PORT |
No | Porta HTTP (predefinita 3000; usata solo con HTTP_ONLY=true). |
HTTPS_PORT |
No | Porta HTTPS (predefinita 3443; il template la pubblica 1:1, così la WebUI risponde su https://<ip>:3443). |
HTTP_ONLY |
No | Imposta true per disabilitare il listener HTTPS autofirmato e servire solo HTTP in chiaro (per l'uso dietro un reverse proxy che termina il TLS). |
HOST_SOURCE_ROOT |
No | Il percorso host montato come Host Data (predefinito /mnt). BombVault traduce le origini dei bind-mount riportate da Docker in percorsi sotto questo mount. Cambia solo se hai montato una radice host diversa. |
BOMBVAULT_SELF_CONTAINER |
No | Il nome del container BombVault stesso, così non esegue mai il backup (e quindi non ferma mai) se stesso (predefinito BombVault; rilevato automaticamente tramite l'hostname su rete bridge). |
BACKUP_MAX_HOURS |
No | Numero massimo di ore reali per cui una singola esecuzione di backup può tenere il lock del suo dominio prima di essere forzatamente annullata (una salvaguardia così che un'esecuzione bloccata non possa bloccare il dominio per sempre). Vuoto (il predefinito) usa 48. Aumentalo per backup cloud molto grandi o lenti (un'esecuzione annullata al limite fallisce con context deadline exceeded). Imposta 0 per disabilitare del tutto il limite. |
TZ |
No | Fuso orario per lo scheduler (per esempio Europe/Berlin). |
Mount¶
Monta il socket Docker, il flash (/boot) e la radice Host Data (/mnt) come mostrato nel template CA. Le origini e le destinazioni dei backup risiedono entrambe sotto Host Data, ed è montato rslave così una condivisione remota che si monta dopo l'avvio del container (per esempio sotto /mnt/remotes) diventa visibile senza un riavvio.
I percorsi dei repository di backup hanno come predefinito /mnt/user/bombvault/{container,vms,flash,config,files}, creati al primo backup. Cambia la posizione in qualsiasi momento in Impostazioni, Percorsi di backup.
Verifica dell'integrazione host
Apri /spike nell'interfaccia web dopo l'avvio del container. Sonda ogni mount e CLI (socket Docker, libvirt, restic, qemu-img, rclone) e segnala eventuali pezzi mancanti.
Modello di sicurezza¶
Controllo dell'host equivalente a root
Tramite il socket Docker BombVault può fermare, rimuovere e ricreare container e leggere/scrivere appdata, e per il backup delle VM accede all'host via SSH (qemu+ssh://, root di default) per eseguire virsh. Chiunque possa raggiungere la sua interfaccia web ha di fatto accesso root sull'host.
- Protezione con password opzionale (Impostazioni, Sicurezza): imposta una password per richiedere il login, cancellala per disabilitare. Disattivata di default per l'uso su LAN affidabile. Le sessioni sono firmate (HMAC derivato da
APP_KEY) e cambiare la password le invalida; i login sono a velocità limitata. - Poiché il gate è opt-in, quando non impostato l'intera interfaccia e API (inclusi la configurazione off-site, le route del tamper-test e il kit di ripristino) sono raggiungibili da chiunque possa raggiungere la porta. Abilita il gate una volta che sono in uso backup off-site, immutabili o la cifratura.
- Esegui BombVault solo su una rete affidabile e non esposta. Per l'accesso remoto mettilo dietro un reverse proxy che aggiunga autenticazione e TLS. Le risposte portano header di sicurezza di base (CSP,
nosniff,X-Frame-Options,Referrer-Policy). - Con
HTTP_ONLY=trueil cookie di sessione perde il suo flagSecure(deve, per funzionare su HTTP in chiaro), quindi abilita la password dietro un proxy che termina il TLS solo se la riservatezza è importante. - La connessione SSH del backup VM si fida della chiave host al primo collegamento (TOFU) e la fissa in seguito. Verifica la chiave dell'host fuori banda se il tuo percorso container-verso-host non è affidabile.
- I backup vengono cifrati da restic quando la cifratura è abilitata (Impostazioni; attivata di default), con la chiave derivata da
APP_KEY.
Backup delle VM via SSH¶
BombVault esegue il backup delle VM KVM/libvirt senza montare alcun percorso libvirt. Esegue virsh sull'host via SSH (qemu+ssh://), così non può mai influire sul VM Manager del tuo host.
Configurazione rapida:
- Impostazioni, Sistema, Backup VM via SSH: copia la chiave pubblica mostrata.
- Aggiungila a
/root/.ssh/authorized_keysdi Unraid (anche persistita sul flash così sopravvive ai riavvii). - Clicca Prova connessione.
Il template aggiunge --add-host=host.docker.internal:host-gateway così il container può raggiungere l'host. Imposta LIBVIRT_HOST sull'IP LAN del tuo Unraid se quel nome non si risolve (per esempio quando il container gira su una rete br0.x personalizzata). Se hai cambiato la porta SSH di Unraid, imposta LIBVIRT_SSH_PORT di conseguenza. Gli snapshot a caldo necessitano inoltre del qemu guest agent nella VM e del disco su /mnt/cache (non /mnt/user).
Guida completa alla configurazione delle VM e alla rete
La guida completa passo passo (abilitazione SSH, autorizzazione persistente della chiave, routing su rete personalizzata e VLAN, metodo per VM e risoluzione dei problemi lato host) si trova in docs/vm-backup-ssh-setup.md su GitHub.
Configurazione off-site¶
Configura una replica off-site nella scheda Impostazioni, Off-site. Vedi Off-site e ripristino per il flusso di lavoro completo (immutabile/append-only, tamper testing ed esercitazioni DR). In breve:
- Backend: SMB/CIFS e NFS (monta la condivisione 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 (rclone:<remote>:<bucket>/path). - Le credenziali cloud vengono memorizzate cifrate sotto Impostazioni, Off-site, Credenziali cloud.
- Le destinazioni SSH non richiedono nulla di installato sull'altro lato.
sftp:necessita solo di un server SSH. Aggiungi la chiave pubblica da Impostazioni, Sistema, Backup VM via SSH (anche in/config/ssh/id_ed25519.pub) al file~/.ssh/authorized_keysdell'utente di destinazione. - Copia off-site: BombVault replica i nuovi snapshot con
restic copysu base best-effort. Il repo locale resta primario. Ogni dominio ha il proprio calendario off-site, più un pulsante Replica ora. - Più destinazioni off-site per dominio: ogni dominio può replicare verso più destinazioni off-site contemporaneamente. Aggiungi destinazioni extra in Impostazioni, Off-site, ciascuna con il proprio repository, classe di archiviazione S3, flag append-only, conservazione e budget di crescita; replicano tutte secondo il calendario off-site di quel dominio. Una configurazione off-site singola esistente viene riportata come prima destinazione.
- Conservazione per sorgente: la policy locale risiede su Impostazioni, Percorsi e Archiviazione; la policy off-site su Impostazioni, Off-site (lasciala tutta a zero per non tagliare mai automaticamente gli snapshot off-site).
- Limiti di banda: limita la velocità di upload/download di restic sotto Impostazioni, Off-site.
- Classe di archiviazione fredda e d'archivio (S3): per un repo off-site S3 nativo, scegli un livello leggibile in ripristino (Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval). I remote rclone impostano la loro classe nella configurazione rclone.
Impostazioni portatili (esporta e importa)¶
La scheda Esporta e importa impostazioni nella pagina Impostazioni scrive l'intera configurazione BombVault (impostazioni di dominio, destinazioni off-site, calendari, conservazione, notifiche) in un file JSON portatile che puoi importare su un'altra istanza, così passare a una nuova macchina o clonare una configurazione non significa reinserire tutto a mano. L'importazione mostra un'anteprima e chiede conferma, e non tocca mai i tuoi dati di backup o la cronologia.
L'esportazione può contenere credenziali
Scegli tu se includere le credenziali off-site e di notifica nel file. Con le credenziali incluse, l'esportazione è sensibile quanto il tuo kit di ripristino, quindi conservala in un luogo sicuro. Senza di esse, il file contiene solo impostazioni non segrete.