Proxmox VEXXIII · Home LabBackups
Backing up a home lab with PBS and offsite sync
What you'll learn
- Set up PBS locally for home-lab backups
- Configure PBS sync jobs to offsite storage cloud or friend
- Test restore regularly
- Avoid the most common backup mistakes
Prerequisites
Verified against Proxmox VE 9.2.4 · Proxmox Backup Server 4.2.5 · Ceph Squid / Tentacle · Debian 13 (Trixie) · Linux kernel 7.0 (PVE 9.2 default) · 2026-08-07
Why home-lab backups matter
“Home lab” sounds casual, but your lab probably has data you don’t want to lose:
- Family photos in Nextcloud
- Passwords in Vaultwarden
- Smart home automations in Home Assistant
- Dev work in self-hosted Git
- The Proxmox configuration itself
A backup plan protects against accidental deletion, hardware failure, ransomware, and “I was tinkering and now nothing works”. Even a single-node home lab benefits enormously from PBS.
The 3-2-1 rule for home labs
| Copy | Where | Why |
|---|---|---|
| 3 copies of your data | Two on different media, one offsite | Survives any single failure |
| 2 different media types | Local disk + USB drive, or local disk + cloud | Avoids media-specific failure modes |
| 1 offsite | Cloud bucket, friend’s house, parent’s house | Survives fire/flood/theft |
flowchart LR
subgraph Primary
A[Proxmox host<br/>live data]
end
subgraph Secondary
B[PBS local datastore<br/>USB or separate disk]
end
subgraph Offsite
C[Cloud bucket<br/>B2 / Wasabi / S3<br/>or friend's PBS]
end
A -->|nightly backup| B
B -->|restic / PBS sync| C
A -.->|replication target| B
For a home lab, this is achievable in an afternoon:
- Copy 1: live data on your Proxmox storage
- Copy 2: PBS datastore on a USB drive or separate disk
- Copy 3: PBS sync to a remote PBS (friend’s house) or cloud (Backblaze B2, Wasabi, S3)
Step 1: Install PBS
Two options:
Option A: PBS as a VM on your lab Proxmox (chicken-and-egg, but acceptable for a single-node lab)
# Download PBS ISO
wget https://enterprise.proxmox.com/iso/proxmox-backup-server_4.2-1.iso
# Create a VM
qm create 200 --name pbs --memory 4096 --cores 2 \
--net0 virtio,bridge=vmbr0 \
--scsihw virtio-scsi-single --scsi0 local-lvm:32,iothread=1 \
--scsi1 local-lvm:200 # large datastore disk
--ide2 local:iso/proxmox-backup-server_4.2-1.iso,media=cdrom \
--boot order=scsi0 --ostype l26
# Install PBS via the standard installer
# During install, choose the second disk (scsi1) as the datastore
Option B: PBS on a separate device (Raspberry Pi 4/5 with USB drive, or an old mini-PC)
This is the recommended approach for a serious backup plan. It’s independent of the Proxmox host — if your Proxmox dies, PBS is unaffected.
# On the PBS device (after install)
# Use the web UI at https://pbs.local:8007
# Or via CLI:
# Create a datastore
proxmox-backup-manager datastore create home-lab /datastore/hdd-1
# Create a user (do not use root for backups)
proxmox-backup-manager user create backup@pbs --comment "Backup user"
proxmox-backup-manager user update backup@pbs --password "strong-password"
# Set permissions
proxmox-backup-manager acl update /datastore/hdd-1 DatastoreBackup --auth-id backup@pbs
Step 2: Add PBS as a storage in Proxmox
In Proxmox UI:
- Datacenter → Storage → Add → Proxmox Backup Server
- ID:
pbs-home - Server: IP of PBS (e.g.,
192.168.1.50) - Datastore: name from Step 1 (e.g.,
home-lab) - Username:
backup@pbs - Password: the one you set
- Encryption Key: optional but recommended for sensitive data
- Fingerprint: shown on PBS dashboard or
proxmox-backup-manager cert info | grep Fingerprint
Click Add. Proxmox will test the connection and verify the fingerprint.
Step 3: Create backup jobs
In Proxmox UI:
- Datacenter → Backup → Add
- Storage:
pbs-home - Schedule: Daily 02:00 (or whenever the lab is quiet)
- Selection mode: All (or specific VMs/LXCs)
- Retention: keep-daily=7, keep-weekly=4, keep-monthly=3
- Mode: Snapshot (default)
- Compression: ZSTD (good balance)
- Encrypt: yes, if you enabled an encryption key
Save. The first backup runs at the scheduled time; you can also click Run now to test.
Step 4: Set up offsite sync
The offsite copy is what protects against fire / flood / theft. Options:
Option A: PBS-to-PBS sync
If you have access to a friend’s house with internet and a spare machine, run PBS there too. Then sync.
# On your local PBS, add the remote
proxmox-backup-manager remote create remote2 pbs.example.com --user sync@pbs --password "..."
# Create a sync job (push local → remote)
proxmox-backup-manager sync-job create sync-1 remote2 home-lab --store home-lab
# Verify
proxmox-backup-manager sync-job list
Option B: S3-compatible cloud storage (Backblaze B2, Wasabi)
Use restic or rclone to push PBS chunks to cloud storage.
# On the PBS host
apt install -y restic
# Initialise restic repo on B2
restic -r b2:my-bucket:pbs-backups init
# Push the PBS datastore (chunk-based, so it's incremental)
restic -r b2:my-bucket:pbs-backups backup /datastore/hdd-1
# Cron it daily
# (heredoc replaced)
echo "#!/bin/bash" >> /etc/cron.daily/pbs-offsite
echo "restic -r b2:my-bucket:pbs-backups backup /datastore/hdd-1" >> /etc/cron.daily/pbs-offsite
echo "restic -r b2:my-bucket:pbs-backups forget --keep-daily 7 --keep-weekly 4 --keep-monthly 3" >> /etc/cron.daily/pbs-offsitechmod +x /etc/cron.daily/pbs-offsite
Step 5: Test restores
A backup you haven’t tested is not a backup. Schedule monthly restore drills.
# Pick the most recent backup of a specific VM
proxmox-backup-client snapshot list vm/100
# Restore to a NEW VM ID (don't overwrite)
qmrestore <backup-id> 999 --storage local-lvm
# Boot the restored VM
qm start 999
# Verify it works (smoke test the application)
# Compare checksums of important files
Backup the PBS configuration itself
Don’t forget the PBS metadata:
# On PBS
tar czf /root/pbs-config-$(date +%F).tar.gz /etc/proxmox-backup /var/lib/proxmox-backup
# Push to your main PBS datastore (or offsite)
cp /root/pbs-config-*.tar.gz /datastore/hdd-1/config-backups/
Common home-lab backup mistakes
“I have a USB drive I plug in sometimes”
This is the #1 cause of data loss. Either it’s not plugged in (and the backup “fails silently”) or it gets ransomware-encrypted. PBS with continuous offsite sync removes both risks.
“The backup ran, so I’m safe”
Did you check the size? Did you read the log? Proxmox shows backup status in the UI; PBS shows job history. Glance at them weekly.
“I’ll restore when I need to”
You won’t. Test restores monthly. If you can’t restore in a test, you can’t restore in a disaster.
“Encryption is too complicated”
PBS client-side encryption is a single checkbox and an encryption key. Store the key separately (password manager, paper in a safe). Without it, your backups are useless.
“Backups are on the same disk as my VMs”
That’s not a backup; that’s a copy. A disk failure takes both. Offsite or at minimum a separate disk.
Putting it together: a 30-minute home-lab backup plan
- Install PBS on a separate device (or VM)
- Add it to Proxmox as storage
- Schedule daily backups with 7-4-3 retention
- Set up restic sync to a cheap B2 bucket
- Test restore of one VM (any VM, doesn’t matter)
- Document the restore procedure
- Set a calendar reminder to test again in 30 days
This plan costs $5-10/month in cloud storage and protects against almost every realistic failure.
Key takeaways
- PBS + offsite sync is the right answer for a home-lab backup plan
- The 3-2-1 rule (3 copies, 2 media, 1 offsite) is achievable in 30 minutes
- Test restores monthly — a backup you haven’t restored is not a backup
- Encrypt backups; store the key separately
- Backups on the same disk as your data are not backups
Knowledge check
Knowledge check · 4 questions
Q1. What does the "3-2-1" backup rule require?
Q2. Which tool can sync PBS datastore files to S3-compatible cloud storage incrementally?
Q3. How often should you test restores?
Q4. Reconstruct the answer from the lesson context.
Passing score: 75%. Answers are checked in this browser.