Kopia: Backup Moderno com Deduplicação e GUI para PME

Introdução — vs Restic, GUI multiplataforma

O Kopia é uma solução de backup open-source com deduplicação ao nível de bloco, compressão e encriptação end-to-end. Foi desenhado para ser rápido, seguro e — ao contrário de muitas alternativas — oferece uma GUI nativa multiplataforma (Windows, Linux e macOS) que torna a gestão de backups acessível a técnicos sem necessidade de decorar dezenas de comandos CLI.

Para pequenas e médias empresas (PME), o Kopia preenche o espaço entre soluções empresariais caras (Veeam, Commvault) e ferramentas puramente CLI como o Restic. A comparação mais comum é precisamente com o Restic:

Característica Kopia Restic
GUI desktop Sim (Qt-based, nativa) Não (apenas CLI)
UI web centralizada Sim (Kopia Server) Não
Deduplicação Bloco (hash dinâmico) Bloco (tamanho fixo)
Compressão Sim (zstd, gzip, s2) Não (planeado)
Backends S3, B2, SFTP, local, GCS, Azure S3, B2, SFTP, local, rest-server
Snapshots incrementais Sim Sim
Montagem de snapshots Sim (FUSE/WinFSP) Sim (fuse mount)

Porquê Kopia para PME?

A GUI permite que técnicos não-especialistas em CLI configurem e monitorizem backups. O Kopia Server adiciona gestão centralizada via browser — ideal para equipas com vários postos de trabalho.

Instalar Kopia (Windows/Linux/macOS)

O Kopia está disponível em duas variantes: KopiaUI (aplicação desktop com GUI) e kopia (CLI). Para PME, recomenda-se instalar ambos — a GUI para uso diário e o CLI para scripts de automação.

Windows

Descarregar o instalador MSI ou o executável portátil a partir da página oficial de instalação. Alternativamente, via winget:

winget install Kopia.KopiaUI

Para o CLI apenas, usar Chocolatey:

choco install kopia

Linux (Debian/Ubuntu)

curl -s https://kopia.io/signing-key | sudo gpg --dearmor -o /usr/share/keyrings/kopia-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/kopia-keyring.gpg] http://packages.kopia.io/apt/ stable main" | sudo tee /etc/apt/sources.list.d/kopia.list
sudo apt update
sudo apt install kopia

Para Fedora/RHEL/CentOS, usar o repositório RPM:

sudo rpm --import https://kopia.io/signing-key
sudo tee /etc/yum.repos.d/kopia.repo << 'EOF'
[kopia]
name=Kopia
baseurl=http://packages.kopia.io/rpm/
enabled=1
gpgcheck=1
EOF
sudo dnf install kopia

macOS

brew install kopia

O KopiaUI para macOS está disponível como download directo (.dmg) no GitHub Releases do projecto.

Atenção

O KopiaUI e o CLI partilham o mesmo repositório de configuração. Não executar ambos em simultâneo sobre o mesmo repositório — pode causar conflitos nos snapshots.

Configurar Repositório (S3, B2, SFTP, local)

O repositório é o destino onde os snapshots encriptados são armazenados. O Kopia suporta múltiplos tipos de backend — todos com encriptação AES-256 e deduplicação automática.

Repositório local (disco externo ou NAS)

kopia repository create filesystem --path /mnt/backup/kopia --password "SenhaForte2026!"

Amazon S3 (ou S3-compatible: MinIO, Wasabi, Cloudflare R2)

kopia repository create s3 \
  --bucket=meu-bucket-backup \
  --access-key=AKIAIOSFODNN7EXAMPLE \
  --secret-access-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
  --endpoint=s3.eu-west-1.amazonaws.com \
  --password "SenhaForte2026!"

Backblaze B2

kopia repository create b2 \
  --bucket=meu-bucket-b2 \
  --key-id=ID_DA_CHAVE \
  --key=CHAVE_SECRETA \
  --password "SenhaForte2026!"

O Backblaze B2 é uma escolha popular para PME devido ao custo reduzido (aprox. 6 USD/TB/mês) e à compatibilidade nativa com a API S3.

SFTP (servidor SSH remoto)

kopia repository create sftp \
  --host=servidor-backup.exemplo.pt \
  --user=backup \
  --path=/data/kopia-repo \
  --ssh-key=/home/backup/.ssh/id_ed25519 \
  --password "SenhaForte2026!"
Backend Custo aprox. Ideal para
Local (filesystem) Grátis (hardware próprio) Backup primário rápido (NAS, disco USB)
Backblaze B2 ~6 USD/TB/mês Cloud económico, retenção longa
Amazon S3 ~23 USD/TB/mês Integração AWS, compliance
SFTP Grátis (VPS própria) Servidor próprio, controlo total

Conectar a um repositório existente

Após criar o repositório num servidor, os outros clientes conectam-se com kopia repository connect usando os mesmos argumentos. A senha do repositório é necessária em todos os clientes.

Políticas e Agendamento (snapshots, retenção, compressão)

As políticas definem a frequência dos snapshots, a retenção (quantas cópias manter), a compressão e outras opções como inclusão/exclusão de ficheiros. Podem ser aplicadas globalmente, por utilizador ou por caminho específico.

Criar snapshot de um directório

kopia snapshot create /home/utilizador/documentos

Para automatizar, o Kopia inclui um agendador nativo que corre em segundo plano via kopia server ou através do KopiaUI. Em servidores Linux, pode-se usar cron:

# crontab -e
0 2 * * * /usr/bin/kopia snapshot create /home/utilizador/documentos --all-sources 2>&1 | logger -t kopia

Definir retenção

A retenção controla quantos snapshots são mantidos por intervalo temporal. A política GFS (Grandfather-Father-Son) é uma boa prática para PME:

kopia policy set --global \
  --keep-latest 7 \
  --keep-hourly 24 \
  --keep-daily 30 \
  --keep-weekly 12 \
  --keep-monthly 12 \
  --keep-annual 3

Isto mantém: 7 snapshots mais recentes, 24 horários, 30 diários, 12 semanais, 12 mensais e 3 anuais — equivalente a mais de 3 anos de histórico.

Compressão

O Kopia suporta compressão em tempo de escrita, reduzindo o espaço usado e o tráfego de rede:

kopia policy set --global --compression=zstd
Algoritmo Rácio Velocidade Recomendação
zstd Bom Muito rápido Recomendado (uso geral)
gzip Moderado Rápido Compatibilidade
s2 (Snappy) Baixo Extremamente rápido Backups de alta frequência

Exclusões

kopia policy set --global \
  --add-ignore "*.tmp" \
  --add-ignore "*.log" \
  --add-ignore "node_modules/" \
  --add-ignore ".cache/"

Verificar snapshots

Listar todos os snapshots com kopia snapshot list. Para verificar integridade do repositório, executar kopia repository verify mensalmente.

Kopia Server — gestão centralizada, UI web

O Kopia Server é o componente que distingue o Kopia de outras soluções de backup open-source. Corre num servidor central e expõe uma UI web onde o administrador gere múltiplos clientes, repositórios, políticas e snapshots a partir de um único painel — sem instalar software adicional nos clientes.

Instalar e iniciar o servidor

kopia server start \
  --address 0.0.0.0:51515 \
  --server-username admin \
  --server-password "SenhaAdminForte!" \
  --repository filesystem \
  --repository-path /data/kopia-server \
  --repository-password "SenhaRepoForte!"

O servidor fica acessível em https://servidor:51515 (o Kopia usa TLS automático com certificados auto-assinados). Para produção, recomenda-se colocar um proxy inverso (nginx/Caddy) com certificados Let's Encrypt à frente.

Registar clientes

# No servidor: criar utilizador para um cliente
kopia server user add workstation01 --user-password "SenhaCliente01!"

# No cliente: conectar ao servidor
kopia repository connect server \
  --url=https://servidor-backup.exemplo.pt:51515 \
  --server-cert-fingerprint=SHA256_DO_CERTIFICADO \
  --username=workstation01 \
  --password "SenhaCliente01!"

Funcionalidades da UI web

A interface web do Kopia Server permite:

  • Visualizar snapshots de todos os clientes em tempo real
  • Criar e editar políticas globais ou por cliente
  • Gerir utilizadores e permissões
  • Restaurar ficheiros directamente a partir da UI (descarregamento via navegador)
  • Monitorizar estado dos repositórios e espaço usado
  • Configurar notificações por e-mail para falhas de backup

Executar como serviço systemd

sudo tee /etc/systemd/system/kopia-server.service << 'EOF'
[Unit]
Description=Kopia Backup Server
After=network.target

[Service]
Type=simple
User=kopia
ExecStart=/usr/bin/kopia server start \
  --address 0.0.0.0:51515 \
  --server-username admin \
  --server-password "SenhaAdminForte!" \
  --repository filesystem \
  --repository-path /data/kopia-server \
  --repository-password "SenhaRepoForte!"
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now kopia-server

Caso de uso PME

Uma empresa com 15 postos de trabalho pode ter um servidor Kopia central (VPS ou NAS) com repositório em B2. Cada posto liga-se ao servidor via UI web ou CLI. O administrador define uma política GFS global e os snapshots correm automaticamente em segundo plano — sem intervenção dos utilizadores.

O Kopia combina a robustez técnica (deduplicação, encriptação, compressão) com usabilidade (GUI nativa + UI web) que faltava ao Restic. Para PME que precisam de backup sério sem investir em licenças comerciais, é actualmente uma das melhores opções open-source disponíveis.