Quick Verdict
Restic is the better choice for most self-hosters. It's free, has a larger community, and its CLI is straightforward. Duplicacy's cross-computer deduplication is genuinely unique and valuable if you back up multiple machines to the same storage — but its web UI costs $20, and the ecosystem is smaller. Pick Restic unless you specifically need multi-machine dedup.
Overview
Both Restic and Duplicacy are deduplicating backup tools that encrypt data at rest, support a wide range of cloud storage backends, and run well in Docker or directly on a host. They target the same audience: people who want reliable, encrypted, self-managed backups without paying for Backblaze or CrashPlan.
Restic (first released 2015) is the community standard. Written in Go, fully open source under BSD-2-Clause, and backed by a large contributor base. It uses content-defined chunking for deduplication and encrypts everything with AES-256.
Duplicacy (first released 2016) is also written in Go but splits into a free CLI (open source) and a paid web UI edition ($20 one-time personal license). Its standout feature is lock-free deduplication that works across multiple machines sharing the same storage repository.
Feature Comparison
| Feature | Duplicacy | Restic |
|---|---|---|
| License | Free CLI (open source) / Paid web UI ($20) | Free (BSD-2-Clause) |
| Language | Go | Go |
| Encryption | AES-256-GCM | AES-256-CTR + Poly1305 |
| Deduplication | Block-level, cross-computer | Block-level, single-repo |
| Lock-free backups | Yes | No (uses lock files) |
| Cloud backends | S3, B2, Wasabi, Azure, GCS, SFTP, local, OneDrive, Dropbox, WebDAV | S3, B2, Azure, GCS, SFTP, local, rclone (adds 40+ backends) |
| Web UI | Paid ($20) | Third-party only (Backrest, Resticker) |
| Docker image |
saspus/duplicacy-web:v1.8.3 (community) |
restic/restic:0.18.1 (official) |
| Compression | Zstd | Zstd (since v0.14) |
| Snapshot browsing | CLI + web UI | CLI + FUSE mount |
| Restore granularity | File-level | File-level + FUSE mount |
| Community size | Smaller (GitHub: ~1.5K stars) | Large (GitHub: ~27K+ stars) |
| Active development | Moderate | Active |
| Documentation | Good, official docs site | Excellent, extensive community docs |
Deduplication Approach
This is where the two tools diverge most.
Restic deduplicates within a single repository. Each backup job targets one repo. If you back up three machines to separate Restic repos, identical files across machines are stored three times.
Duplicacy deduplicates across all machines backing up to the same storage. If three machines share common files (OS libraries, Docker images, config files), Duplicacy stores them once. On setups with many similar machines, this can reduce total storage by 30-60%.
For single-machine backups, the dedup difference is negligible. For multi-machine environments, Duplicacy's approach saves meaningful storage.
Lock-Free vs Lock Files
Restic uses lock files to prevent concurrent access conflicts. If a backup process crashes without releasing its lock, you need to manually run restic unlock. This is a known pain point — the troubleshooting guide for Restic repository locked covers it in detail.
Duplicacy's lock-free design means multiple machines can back up to the same repository simultaneously without coordination. No lock files, no unlock commands, no stale lock cleanup. This makes it inherently better suited for multi-machine setups.
Performance
Both tools are fast for typical self-hosting workloads. Key differences:
- Initial backup: Similar speeds — both are I/O bound, not CPU bound.
- Incremental backups: Restic is generally faster for single-repo incrementals because its index is optimized for append-only access patterns.
- Restore speed: Comparable. Both can restore individual files without downloading the entire snapshot.
- Memory usage: Restic can use significant RAM when working with large repos (100K+ files). Duplicacy's memory footprint is more predictable.
For home servers with under 1 TB of data, performance differences are immaterial.
Cloud Storage Support
Restic natively supports S3, B2, Azure, GCS, SFTP, and local storage. Through rclone integration, it gains access to 40+ additional backends including OneDrive, Dropbox, Google Drive, and Mega.
Duplicacy natively supports S3, B2, Azure, GCS, SFTP, OneDrive, Dropbox, Google Drive, WebDAV, and local storage — no rclone shim needed for popular consumer cloud services.
If your target storage is S3-compatible (MinIO, Wasabi, Ceph), both work equally well. If you want native Dropbox or OneDrive support without rclone, Duplicacy has the edge.
Ease of Use
Restic is CLI-only by default. The commands are clean and intuitive (restic init, restic backup, restic restore, restic snapshots). The learning curve is gentle for anyone comfortable with a terminal. Third-party GUIs like Backrest and Resticker add scheduling and web interfaces.
Duplicacy CLI is similarly straightforward (duplicacy init, duplicacy backup, duplicacy restore). The paid web UI adds scheduling, email notifications, and a dashboard — useful if you don't want to write cron jobs. At $20 one-time, it's cheap.
For self-hosters who live in the terminal, both are equally approachable. The web UI gives Duplicacy a slight usability edge for those who prefer graphical management.
Use Cases
Choose Duplicacy If...
- You back up multiple machines to the same storage and want cross-computer deduplication
- You want a built-in web UI without third-party tools
- You use OneDrive or Dropbox as a backup destination (native support)
- Lock-free concurrent backups are important (e.g., many clients backing up simultaneously)
Choose Restic If...
- You want a fully free, fully open-source solution
- Community size and ecosystem matter to you
- You need rclone integration for exotic storage backends
- You prefer FUSE-mounting snapshots for easy browsing
- You want the most battle-tested option with the largest user base
Final Verdict
Restic wins for most self-hosters. It's free, the community is 10x larger, documentation is extensive, and the tool is well-proven at scale. The lock file issue is a minor annoyance, not a dealbreaker.
Duplicacy wins specifically for multi-machine backups. If you're backing up 5+ machines to the same S3 bucket and want storage savings from cross-computer dedup, Duplicacy's architecture is purpose-built for that. The $20 web UI is good value for the scheduling and monitoring it adds.
For a single home server, pick Restic. For a fleet of machines sharing storage, evaluate Duplicacy seriously.
FAQ
Can Restic deduplicate across machines like Duplicacy?
No. Restic deduplicates within a single repository. If three machines back up to separate Restic repos, identical files are stored three times. Duplicacy's lock-free architecture allows all machines to share one repository with cross-machine deduplication — identical blocks are stored once regardless of source machine.
Is Duplicacy's web UI worth $20?
For personal use, yes. It adds scheduling, email notifications, a backup history dashboard, and visual configuration. Without it, you manage Duplicacy through CLI commands and cron jobs — functional but less convenient. Restic has free third-party web UIs (Backrest, Resticker) that provide similar functionality.
Can I use both Restic and Duplicacy for 3-2-1 backups?
Yes — and using different backup tools for different copies is a solid practice. If a bug in one tool corrupts backups, the other tool's backups remain intact. Example: Restic to a local NAS (fast, daily), Duplicacy to S3 (cloud copy, daily). Two tools, two storage locations, independent failure domains.
Which has better documentation?
Restic. Its official documentation at restic.readthedocs.io is comprehensive, well-organized, and covers every use case with examples. Community-written guides, blog posts, and tutorials are abundant due to the larger user base. Duplicacy's documentation is good but thinner, and community resources are fewer.
What happens if a backup is interrupted?
Both handle interruptions gracefully. Restic may leave a stale lock file that requires restic unlock before the next run — a minor annoyance. Duplicacy's lock-free design means no cleanup is needed after an interrupted backup; the next run simply resumes normally.
Can I see what's in a backup without restoring it?
Restic supports FUSE mounting — restic mount /mnt/restic makes all snapshots browsable as a filesystem. You can navigate directories and read files without a full restore. Duplicacy does not support FUSE mounting; use duplicacy list -r revision-number and duplicacy restore for individual files.
Top comments (0)