TL;DR — Quick Summary

Set up Kopia for fast, encrypted, deduplicated backups. Supports S3, B2, SFTP, local, and NAS destinations. Includes web UI, snapshot policies, retention, and comparison with Restic and BorgBackup.

What Is Kopia?

Kopia is a fast, open-source backup tool that provides encrypted, deduplicated, compressed snapshots of your files to any storage backend. It is the modern alternative to Restic and BorgBackup, with a built-in web UI and native snapshot policies.

Key features:

  • Client-side encryption — AES-256-GCM, zero-knowledge
  • Content-level deduplication — across all snapshots and machines
  • Compression — zstd, gzip, s2 (default: zstd)
  • Incremental snapshots — only changed data is uploaded
  • Built-in web UI — manage backups from the browser
  • Snapshot policies — retention, scheduling, ignore rules
  • Server mode — centralized backup management for multiple machines
  • 40+ storage backends — via native support and Rclone

Storage Backends

BackendCommandBest For
Local / NASkopia repo create filesystem --path /mnt/backupFast, simple
S3 / MinIOkopia repo create s3 --bucket=nameCloud, self-hosted S3
Backblaze B2kopia repo create b2 --bucket=nameCheap cloud ($0.005/GB)
SFTPkopia repo create sftp --host=serverRemote server
Google Cloudkopia repo create gcs --bucket=nameGCP users
Azure Blobkopia repo create azure --container=nameAzure users
Rclonekopia repo create rclone --remote-path=name:path40+ providers

Quick Start

Install

# Ubuntu/Debian
curl -s https://kopia.io/signing-key | sudo gpg --dearmor -o /etc/apt/keyrings/kopia-keyring.gpg
echo "deb [signed-by=/etc/apt/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

# macOS
brew install kopia

# Docker
docker pull kopia/kopia:latest

Create Repository & First Snapshot

# Create local repository
kopia repository create filesystem --path /backup/kopia

# Create first snapshot
kopia snapshot create /home/user/documents

# List snapshots
kopia snapshot list

# Restore a snapshot
kopia restore <snapshot-id> /tmp/restore/

Snapshot Policies

# Set retention policy
kopia policy set /home/user/documents \
  --keep-latest 10 \
  --keep-hourly 24 \
  --keep-daily 30 \
  --keep-weekly 8 \
  --keep-monthly 12 \
  --keep-annual 3

# Set automatic snapshot interval
kopia policy set /home/user/documents --snapshot-interval 4h

# Ignore patterns
kopia policy set /home/user --add-ignore "node_modules" --add-ignore ".cache"

Web UI

kopia server start --ui --address=0.0.0.0:51515

Access at http://localhost:51515 for visual management of repositories, snapshots, policies, and restoration.

Docker Compose (Server Mode)

services:
  kopia:
    image: kopia/kopia:latest
    container_name: kopia
    restart: always
    ports:
      - "51515:51515"
    command: server start --ui --address=0.0.0.0:51515 --server-control-username=admin --server-control-password=changeme
    volumes:
      - /backup/kopia:/repository
      - kopia-config:/app/config
      - /home:/sources:ro

volumes:
  kopia-config:

Kopia vs. Restic vs. BorgBackup

FeatureKopiaResticBorgBackup
Encryption✅ AES-256-GCM✅ AES-256✅ AES-256
Deduplication✅ Content-level✅ Content-level✅ Block-level
Compression✅ zstd, gzip, s2❌ (v0.16+ only)✅ lz4, zstd, zlib
Web UI✅ Built-in❌ (3rd party)❌ (Borgmatic)
Snapshot policies✅ Built-in❌ (manual)❌ (Borgmatic)
Server mode✅ (append-only)
S3 support❌ (via Rclone)
SpeedFastFastModerate
MaturityNewer (2019)Mature (2015)Mature (2015)

Summary

Kopia is the modern backup tool that combines Restic’s cloud flexibility with BorgBackup’s compression and adds a built-in web UI and snapshot policies. Its client-side encryption and content deduplication make it ideal for self-hosted backup infrastructure.