BackupPC vs Duplicati: Backup Tools Compared
BackupPC started as a Perl-based network backup system in 2001 and remains the go-to choice for centralized pull-based backups across a LAN. Duplicati launched a decade later with a different model — push-based, encrypted backups to cloud storage from individual machines. They solve the same problem (don’t lose your data) with opposite architectures.
Feature Comparison
| Feature | BackupPC | Duplicati |
|---|---|---|
| Backup model | Pull (server fetches from clients) | Push (client sends to destination) |
| Client agent required | No (SSH/rsync/SMB) | Yes (runs on each machine) |
| Cloud storage support | No (local/network only) | Yes (20+ backends: S3, B2, GDrive, OneDrive, SFTP) |
| Encryption | No (relies on disk encryption) | Yes (AES-256, client-side) |
| Deduplication | Yes (file-level pooling) | Yes (block-level) |
| Compression | Yes (per-file) | Yes (per-block, multiple algorithms) |
| Web UI | Yes (manage clients + browse/restore) | Yes (configure jobs + browse/restore) |
| Scheduling | Built-in (per-client schedules) | Built-in (per-job schedules) |
| Incremental backups | Yes (rsync-based) | Yes (block-level differential) |
| File-level restore | Yes (browse + download any version) | Yes (browse + download any version) |
| Email notifications | Yes | Yes |
| Multi-OS clients | Linux, macOS, Windows (via SMB) | Linux, macOS, Windows (native) |
| Docker image | tiredofit/backuppc:6.0.4 (community) | lscr.io/linuxserver/duplicati (LinuxServer.io) |
| Language | Perl | C# (.NET) |
| Idle RAM | ~200–500 MB | ~200–400 MB |
| License | GPL 3.0 | LGPL 2.1 |
Updated March 2026: Verified with latest Docker images and configurations.
Architecture Differences
BackupPC runs on a central server and reaches out to client machines via SSH (rsync/tar) or SMB. Clients don’t need any backup software installed — the server pulls data over the network. This makes it ideal for backing up many machines from one place without touching each client.
Duplicati runs on each machine you want to back up. It pushes encrypted, deduplicated backup blocks to a remote destination — cloud storage (S3, Backblaze B2, Google Drive), SFTP, WebDAV, or a local path. Each instance is independent; there’s no central server coordinating backups.
| Aspect | BackupPC | Duplicati |
|---|---|---|
| Central management | Yes (one server, many clients) | No (each instance independent) |
| Network requirement | LAN/VPN between server and clients | Internet or LAN to storage destination |
| Offsite backup | Manual (replicate pool offsite) | Native (cloud storage is the destination) |
| Zero client install | Yes | No |
Installation Complexity
BackupPC requires a central server with the Docker container, plus SSH key distribution to all client machines:
services:
backuppc:
image: tiredofit/backuppc:6.0.4
container_name: backuppc
restart: unless-stopped
ports:
- "8080:80"
volumes:
- backuppc-config:/etc/backuppc
- backuppc-data:/var/lib/backuppc
- backuppc-home:/home/backuppc
environment:
- BACKUPPC_UUID=1000
- BACKUPPC_GUID=1000
restart: unless-stopped
volumes:
backuppc-config:
backuppc-data:
backuppc-home:
After deployment, you generate SSH keys and distribute them to client machines. Each client needs an entry in the BackupPC web UI with its hostname, backup method, and schedule.
Duplicati runs on each machine as a standalone instance:
services:
duplicati:
image: lscr.io/linuxserver/duplicati:v2.2.0.3-ls5
container_name: duplicati
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
ports:
- "8200:8200"
volumes:
- duplicati-config:/config
- /path/to/source:/source:ro
- /path/to/local-backups:/backups
volumes:
duplicati-config:
Backup destinations (S3, B2, SFTP) are configured through the web UI wizard. No SSH key distribution, no client registration — each Duplicati instance is self-contained.
Performance and Resource Usage
| Resource | BackupPC | Duplicati |
|---|---|---|
| Idle RAM | ~200–500 MB | ~200–400 MB |
| Backup speed | Fast (rsync delta transfer) | Moderate (block-level chunking + encryption) |
| Storage efficiency | High (file-level pooling across clients) | High (block-level dedup within each job) |
| CPU during backup | Low (rsync is efficient) | Moderate (encryption + compression) |
| Network usage | Delta only (rsync) | Blocks only (deduplicated) |
BackupPC’s pooling mechanism is particularly effective when backing up multiple similar machines — shared files (OS binaries, common configs) are stored once regardless of how many clients have them. Duplicati deduplicates within each backup job but not across different jobs.
Community and Support
| Metric | BackupPC | Duplicati |
|---|---|---|
| GitHub stars | ~1.4K | ~11K |
| Active development | Maintenance mode | Active |
| Documentation | Comprehensive wiki | Good docs site |
| Docker image | Community-maintained | LinuxServer.io (well-maintained) |
| Forum/support | Mailing list + GitHub | Forum + GitHub |
| First release | 2001 | 2012 |
Duplicati has a larger community and more active development. BackupPC is mature and stable but receives infrequent updates — it’s feature-complete for its use case.
Use Cases
Choose BackupPC If…
- You want to back up multiple LAN machines from one central server
- You don’t want to install backup software on every client
- Your backup destination is local storage (NAS, external drives)
- You back up many similar machines and want cross-client deduplication
- You prefer a pull model where the server controls everything
Choose Duplicati If…
- You want encrypted backups to cloud storage (S3, B2, Google Drive)
- You need offsite backups without managing a separate replication step
- You back up individual machines independently (no central server)
- You need client-side encryption before data leaves the machine
- You want a modern web UI with a guided setup wizard
Final Verdict
Duplicati is the better choice for most self-hosters because cloud-destination, encrypted backups are what most people actually need — offsite protection without managing a second server. BackupPC excels at a specific use case: centralized LAN backups of many machines with zero client installation. If you have 10 Linux servers on a LAN and a big NAS for storage, BackupPC is purpose-built for that. For everything else — personal backups to B2, encrypted archives to S3, or backing up a single server — Duplicati is more practical.
FAQ
Can BackupPC back up to cloud storage?
Not directly. BackupPC writes to a local pool directory. To get offsite protection, you’d need to replicate that pool to cloud storage using a separate tool like Restic or Rclone.
Does Duplicati have a central management console?
Not built-in. Each Duplicati instance has its own web UI. For centralized monitoring, you’d need a third-party tool or check each instance individually.
Which has better deduplication?
BackupPC deduplicates across all clients (file-level pooling) — if 10 machines have the same /usr/bin/bash, it’s stored once. Duplicati deduplicates at the block level within each backup job. BackupPC saves more space when backing up similar machines; Duplicati is better at handling large files with small changes.
Can I use both together?
Yes. BackupPC for LAN machine centralization, Duplicati on the BackupPC server to push the pool to cloud storage. This gives you both centralized management and offsite protection.
Is BackupPC still maintained?
Yes, but in maintenance mode. Version 4.4.0 was the last major release. Security fixes and minor updates still happen. The codebase is stable — it does its job without needing constant feature additions.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments