← All Guides
beginner

Duplicati Backup Setup: Encrypted, Automated Homelab Backups

Duplicati backs up your homelab data to local storage, a NAS, or cloud storage, encrypted and deduplicated. Here's how to set it up and what to actually back up.

Budget Homelab ·
dockerbackuphomelabbeginner

This post contains affiliate links. If you buy through them, I earn a small commission at no extra cost to you.

Most homelab backup strategies fall into two categories: the ones that exist and the ones people plan to set up eventually. Duplicati makes having an actual strategy easy enough that “eventually” can be today.

It runs in Docker, has a web UI, supports encryption, handles deduplication (so only changed blocks are uploaded after the first run), and can send backups to almost anywhere — a local drive, a NAS via SMB/NFS, Backblaze B2, Amazon S3, SFTP, or a dozen other destinations.

What You’ll Back Up

The most important things to back up in a homelab:

Things you don’t need to back up: the Docker images themselves (they pull from registries), the OS (reinstall from scratch and restore configs), large media libraries (re-downloadable).

Install

Create a directory:

mkdir -p /opt/duplicati

docker-compose.yml:

version: "3.8"

services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    restart: unless-stopped
    environment:
      - PUID=0
      - PGID=0
      - TZ=America/Chicago
    volumes:
      - ./config:/config
      - /:/source:ro
    ports:
      - "8200:8200"

Note: PUID=0 and PGID=0 runs as root, which gives Duplicati read access to your entire filesystem. This is needed to back up Docker volumes and other system paths. The volume is mounted read-only (ro) so Duplicati can read but not modify your data.

Set your timezone in the TZ variable.

Start it:

docker compose up -d

Access at http://your-server-ip:8200.

Create Your First Backup Job

From the Duplicati web UI, click Add backup.

Step 1: General

Step 2: Backup Destination

Choose where your backups go.

Local folder or drive — useful for a NAS or external drive:

Backblaze B2 — good off-site option, costs about $0.006/GB/month:

SFTP — if you have another server or VPS:

For a real backup strategy, use both a local destination (fast recovery) and an off-site destination (survives physical disaster).

Step 3: Source Data

Click “Add path” and add what you want to back up.

Inside the container, your host filesystem is mounted at /source. So:

Recommended source paths:

Exclude filters to add:

Step 4: Schedule

Set the backup to run daily. Recommended: 2-4am when the system is least active.

Duplicati uses deduplication — after the first full backup, only changed blocks are uploaded. Subsequent backups are fast.

Step 5: Options

Key settings to configure:

Testing Your Backup

After the first backup completes, test the restore. This is non-optional.

  1. Go to Restore in the Duplicati UI
  2. Select your backup job
  3. Choose a file you can verify (a config file, a text file)
  4. Restore it to a different path and compare to the original

A backup you’ve never tested is a backup you don’t actually have.

Setting Up Email Notifications

In Duplicati settings (the gear icon in the top right):

You want to know when a backup fails. Duplicati’s notification emails include the number of files backed up, the backup duration, and any errors.

Monitoring Backup Health

Combine Duplicati with Uptime Kuma’s push monitor for backup verification:

  1. Add a push monitor in Uptime Kuma with a heartbeat interval slightly longer than your backup schedule (e.g., 25 hours for a daily backup)
  2. Add the push URL as a Duplicati “run script after” option (in backup job advanced settings):
    --run-script-after=curl -fsS "YOUR_UPTIME_KUMA_PUSH_URL"

If the backup job fails or doesn’t run, the push URL doesn’t get called, and Uptime Kuma alerts you.

Off-Site Backup Storage

For a physical off-site option, a portable external SSD that you rotate between home and another location (office, family member’s house) gives you genuine off-site protection for less than a cloud subscription. Pair it with Duplicati’s local destination.

The 3-2-1 Rule

A useful backup framework: 3 copies of your data, on 2 different media, with 1 off-site.

Duplicati can run multiple backup jobs to multiple destinations. Set one up for local and one for cloud, and you’re following the 3-2-1 rule without additional complexity.