Kopia: Backup Moderno com Deduplicação e GUI para PME
Neste artigo
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.