Introduction
Kopia is a newer, polished sibling to Borg and Restic. It focuses on friendly UX — including a desktop GUI (KopiaUI) and a web UI — while keeping the fundamentals: content-addressable storage, client-side encryption, compression, and snapshot-level policies. Native backends for S3/GCS/Azure/B2/WebDAV/SFTP avoid the rclone indirection other tools need.
With over 13,000 GitHub stars, Kopia is popular with users who want "Borg's reliability but with a UI my less-technical colleague can operate". It's cross-platform and runs identically on macOS, Linux, and Windows.
What Kopia Does
Kopia splits files into variable-size blocks (content-addressable), deduplicates across all snapshots in a repository, encrypts everything with ChaCha20+Poly1305 or AES-GCM, and optionally compresses. Policies (per path) control retention (keep N hourly/daily/weekly/monthly/annual). A repository server lets many client machines share a single dedup pool without giving them direct storage credentials.
Architecture Overview
[Client machine(s)]
|
[Kopia binary — CLI + web UI]
snapshot, policy, restore
|
[Content-addressable storage layer]
split into chunks, dedup, encrypt (AEAD)
compress (zstd / s2 / pgzip / lz4)
|
+----+----+----+----+----+----+----+
| | | | | | | |
S3 GCS Azure B2 WebDAV SFTP FS RClone
|
[Kopia Repository Server (optional)]
client machines connect to the server,
the server talks to storage
per-user policies, bandwidth limitsSelf-Hosting & Configuration
# Set a global policy
kopia policy set --global \
--keep-latest 10 \
--keep-hourly 24 --keep-daily 7 --keep-weekly 4 --keep-monthly 24 \
--compression=zstd-better-compression \
--add-ignore '*.log' --add-ignore 'node_modules'
# Per-directory override
kopia policy set /home/alice/projects \
--add-ignore '.git' --add-ignore '.venv' --max-file-size 100M
# Repository server (multi-machine access without sharing storage creds)
kopia server start --tls-generate-cert --address 0.0.0.0:51515 \
--server-username admin --server-password admin-pass
# Client machine
kopia repository connect server --url https://backup-server:51515 \
--server-cert-fingerprint abcdef... --username alice --password ...
# Schedule (cron example)
0 * * * * kopia snapshot create /home/alice --quiet
# Web UI at http://localhost:51515 (or wherever server runs)
# KopiaUI desktop app bundles server + UI for solo usersKey Features
- Native cloud backends — S3, GCS, Azure, B2, WebDAV, SFTP, local, rclone
- Strong encryption — AEAD (ChaCha20-Poly1305 or AES-GCM-SIV)
- Compression — zstd, s2, pgzip, lz4; per-policy selection
- Content-addressable + dedup — same block stored once across snapshots/machines
- KopiaUI — polished desktop app for macOS/Linux/Windows
- Web UI — browser interface for repository servers
- Policy-based retention — hourly/daily/weekly/monthly/annual per path
- Cross-platform — binary for every major OS and arch
Comparison with Similar Tools
| Feature | Kopia | Borg | Restic | Duplicati | Synology Active Backup |
|---|---|---|---|---|---|
| Cloud backends | Native (many) | SSH-only | Native (many) | Native (many) | Synology-centric |
| GUI | Yes (Kopia UI) | No | No (3rd party) | Yes | Yes |
| Compression | Yes (many algos) | Yes | Yes (Zstd in v0.15) | Yes | Yes |
| Repository server | Yes (multi-user) | Via SSH | Via rest-server | No | Synology server |
| License | Apache-2.0 | BSD | BSD | LGPL | Proprietary |
| Best For | Modern UX + cloud | Linux servers + SSH target | Cloud-target backups | Novice users + GUI | Synology ecosystems |
FAQ
Q: Kopia vs Borg vs Restic? A: All three are excellent. Borg is the veteran (fastest on some Linux workloads). Restic has cloud backends + simpler CLI. Kopia has cloud backends + GUI + multi-user repository server. For teams: Kopia. For servers with SSH-only targets: Borg. For script-centric cloud backups: Restic.
Q: How does Kopia compare on dedup efficiency? A: Very similar to Borg/Restic — content-defined chunking with a ~4MB average chunk. Dedup ratios of 5-10x are typical for full-system backups.
Q: Can I share one repository across many machines? A: Yes — that's one of Kopia's strengths. Use the Kopia Repository Server; each client authenticates with its own credentials; dedup spans everyone's data.
Q: Is KopiaUI as capable as the CLI? A: 90%+ for everyday use. For advanced policies or scripting, drop to the CLI. KopiaUI is a friendly wrapper — the same binary powers both.
Sources
- GitHub: https://github.com/kopia/kopia
- Website: https://kopia.io
- License: Apache-2.0