Ir para o conteúdo

BombVault

Os seus dados do Unraid, selados num cofre. Largue um backup. Detone um restauro.

O BombVault é uma aplicação web self-hosted e nativa do Unraid para backup e recuperação total de desastres dos seus containers Docker e VMs KVM/libvirt. Corre como um único container Docker multi-arch, oferece-lhe uma interface web moderna que segue a preferência de tema claro/escuro do seu sistema e trata de todo o ciclo de vida: fazer backup, agendar, verificar e restaurar.

Os restauros são automáticos. Os containers reaparecem no separador Docker do Unraid exatamente como antes, e as VMs são redefinidas no VM Manager com os seus discos e a NVRAM UEFI reanexados. Sem reinstalações manuais, sem reconfiguração, sem dramas.

Assente em restic, por isso cada backup é deduplicado, incremental e sempre encriptado.

Guarde a sua APP_KEY em segurança

O BombVault deriva a palavra-passe do repositório restic a partir de um segredo de 32 bytes chamado APP_KEY. Perdê-lo torna os backups encriptados irrecuperáveis. Gere um com openssl rand -hex 32 e guarde-o num local seguro. Consulte Configuração.

O que o BombVault protege

Domínio O que é guardado
Containers Docker Diretório appdata mais a definição do container (imagem, variáveis de ambiente, portas, etiquetas, volumes).
VMs KVM / libvirt Imagem(ns) de disco da VM, a definição XML e a NVRAM UEFI, com backup por SSH (sem montagem de libvirt).
Flash do Unraid Toda a pen USB flash (/boot): SO, licença, configuração do array, partilhas, rede e configuração de plugins.
Configuração da aplicação O próprio /config do BombVault: a sua base de dados de definições, as credenciais externas e o par de chaves SSH do libvirt.
Ficheiros e pastas Conjuntos de ficheiros nomeados, qualquer pasta no servidor, cada um com padrões de exclusão opcionais por conjunto.
Conjuntos de dados ZFS Um conjunto de dados com todos os que estão abaixo dele, lido de um instantâneo ZFS e guardado como uma pasta. Veja Conjuntos de dados ZFS.

O restauro é a estrela

Depois de copiar os dados de volta a partir do instantâneo restic, o BombVault reproduz a definição de container guardada contra a Docker API, para que o container reapareça no separador Docker do Unraid como se sempre lá tivesse estado (mesma imagem, mesmas definições, mesmos mapeamentos de portas). As VMs têm o seu XML redefinido por SSH e os seus discos e a NVRAM UEFI reanexados, mesmo depois de a VM ter sido eliminada.

Quando um backup para containers dependentes, estes voltam na ordem correta: o BombVault reinicia-os pela ordem depends_on do Compose e espera que cada um reporte saudável antes de iniciar os que dependem dele, para que nada avance à frente de uma base de dados ou de um gateway que ainda não esteja disponível. Consulte Funcionalidades.

Como funciona

Browser --HTTPS--> BombVault container
                   |- Go binary: JSON API + embedded React UI
                   |- Background worker (per-domain scheduler + job executor)
                   |
                   |- /var/run/docker.sock  -> Docker API (container stop/inspect/recreate)
                   |- qemu+ssh://host       -> libvirt / KVM on the HOST over SSH (no mount)
                   |- /mnt/ -> /host/user   -> appdata, VM disks + restic repos (read/write)
                   |- /boot/ -> /host/boot  -> Unraid flash backup (whole USB)
                   |- /config               -> BombVault's own settings + credentials (self-backup)
                   '- <repo path>           -> restic repository (local or remote: rclone/s3/rest/sftp)

O BombVault usa o socket Docker para parar os containers antes de um backup e recriá-los depois de um restauro. Para as VMs, corre virsh no host por SSH (qemu+ssh://) para encerrar uma VM de forma ordenada ou tirar um instantâneo a quente. Nunca monta um caminho de libvirt, por isso não pode interferir com o VM Manager do host.

O BombVault é a camada de orquestração e de interface, não o motor de armazenamento. Todo o movimento de dados real passa pelo restic.

Início rápido

Novo por aqui? Vá a Introdução para instalar o BombVault no Unraid através das Community Applications e correr o seu primeiro backup. Depois explore as Funcionalidades completas, afine a sua Configuração e configure o Externo e recuperação.

O externo pode espalhar-se por vários destinos por domínio de uma só vez, um painel recetor só de leitura monitoriza essas cópias na máquina que as recebe, e pode levar toda a sua configuração para uma máquina nova com o cartão Exportar / importar configurações. Consulte Externo e recuperação e Configuração.

A Aplicação Android leva todos os servidores do seu grupo para o telemóvel, com o registo de atividade de todos eles num só ecrã.

Créditos

  • VolumeVault de @Darkdragon14 (Apache-2.0) deu ao BombVault a sua ideia de partida: backup com um clique e reinstalação automática de containers Docker. O BombVault é uma implementação separada, em Go e restic, que leva a ideia às VMs, ao flash e a mais.
  • restic é o motor de backup rápido, seguro e com deduplicação que o BombVault comanda.
  • rclone fornece os backends de nuvem.
  • A maioria dos glifos dos botões vem do conjunto gratuito Core Solid da Streamline (CC BY 4.0, fonte). Os restantes vêm do Font Awesome Free, Material Design Icons, Simple Icons e Tabler Icons, ou foram desenhados para o projeto.

Licença

Copyright (C) 2026 Junker der Provinz. O BombVault é software livre sob a GNU Affero General Public License v3.0 (LICENSE). Pode executá-lo, estudá-lo, partilhá-lo e alterá-lo. Se o distribuir, ou se executar uma versão alterada como serviço de rede, tem de publicar o seu código-fonte sob a mesma licença e manter os avisos de copyright e de atribuição existentes.

O nome e a marca não estão licenciados. A AGPL cobre apenas o código-fonte: "BombVault", o seu logótipo e a sua identidade visual continuam reservados, por isso um fork tem de usar um nome e uma identidade visual próprios e não pode apresentar-se como BombVault.

Ligações

Controlo do host equivalente a root

Através do socket Docker, o BombVault pode parar, remover e recriar containers e ler/escrever appdata, e para o backup de VMs inicia sessão no host por SSH para correr virsh. Qualquer pessoa que consiga alcançar a sua interface web tem, efetivamente, root no host. Corra o BombVault apenas numa rede de confiança e não exposta, e ative o controlo por palavra-passe opcional (Definições, Segurança) assim que estiver a usar backups externos ou imutáveis. Consulte Configuração para o modelo de segurança completo.