If you’re running a homelab on Proxmox VE, at some point you’ll ask yourself: what happens if that NVMe dies tonight? A dedicated Proxmox Backup Server setup is the answer. Not a folder on the same machine, not a manual vzdump — a proper, separate backup server with chunk-level deduplication, incremental transfers, and automatic verification.
In this guide, I’ll walk you through building a dedicated Proxmox Backup Server setup from scratch on an ASRock N100DC-ITX with 16 GB of RAM — exactly the hardware I’m using in my own homelab. 🖥️
This is Part 1 of 2. Here we cover installation, storage configuration, connecting PBS to Proxmox VE, and running your first backup. Part 2 will cover automating startup and shutdown with Home Assistant.
Why a Dedicated Proxmox Backup Server Setup?
Before diving into commands, let’s be clear about what PBS gives you that the built-in vzdump to a local directory doesn’t:
- 🔁 Chunk-level deduplication — multiple backups of similar containers share data on disk. Ten Debian-based LXCs don’t store ten full copies.
- ⚡ Incremental backups — after the first full backup, only changed blocks are transferred over the network.
- ✅ Automatic verification — PBS re-reads and re-hashes stored chunks on a schedule. You know your backup is readable, not just present.
- 🗂️ Flexible retention — keep daily, weekly, and monthly snapshots with a single policy line.
- 🔍 File-level restore — restore a single config file from a container backup without restoring the whole thing.
A dedicated Proxmox Backup Server setup separates your backup infrastructure from your production node. If your Proxmox VE host has a problem, PBS is unaffected — it sits on completely different hardware.
If you haven’t set up Proxmox VE yet, check out my guide on installing Proxmox VE 9.1 and the Proxmox post-install script before continuing here.
Prerequisites ✅
A proper dedicated Proxmox Backup Server setup doesn’t need expensive hardware — the N100 platform is more than enough. Before starting a dedicated Proxmox Backup Server setup, make sure you have:
- A dedicated machine separate from your Proxmox VE node — I’m using an ASRock N100DC-ITX with 16 GB DDR4
- A drive for the OS — I’m using a LiteOn 128 GB SATA SSD
- A drive for the datastore — I’m using a Seagate Barracuda 1 TB (around 800 power-on hours, clean SMART)
- A USB drive (≥ 2 GB) for the PBS installer
- Wired Ethernet connection (important for stability and Wake-on-LAN in Part 2)
- Proxmox Backup Server ISO downloaded
Step 1 — Download and Flash the PBS Installer 💾
Download the latest PBS ISO from the official Proxmox downloads page.
Flash it to a USB drive. On Linux:
# Replace /dev/sdX with your USB drive — verify with lsblk first!
dd if=proxmox-backup-server_*.iso of=/dev/sdX bs=4M status=progress conv=fsync
⚠️ Critical:
ddwill wipe the target device completely and without any confirmation prompt. Runlsblkfirst and make absolutely sure/dev/sdXis your USB drive and not a data disk.
On Windows, use Balena Etcher — it’s straightforward and hard to misuse.
Step 2 — Install Proxmox Backup Server 🔧
Boot the N100 machine from the USB. The PBS installer is graphical and takes about 5–10 minutes.
These are the key decisions that define your dedicated Proxmox Backup Server setup:
Target disk: Select your OS SSD — the LiteOn 128 GB in my case. Do not select your datastore disk here. PBS manages the datastore separately after install.
Filesystem: ext4 for the OS disk is perfectly fine. No need for ZFS on the system partition — saves RAM and complexity.
Network: Set a static IP. PBS needs a stable address so Proxmox VE can always reach it. Example:
IP Address: 192.168.1.50/24
Gateway: 192.168.1.1
DNS Server: 1.1.1.1
Hostname: Something descriptive — pbs.homelab.local works well.
Password: Set a strong root password. This machine holds all your backups.
Proceed through the installer, let it finish, remove the USB when prompted, and reboot.
Step 3 — First Login and Repository Setup 🌐
Access the PBS web UI at:
https://192.168.1.50:8007
Login as root with the password you set. Accept the self-signed certificate warning in your browser — this is expected on a fresh dedicated Proxmox Backup Server setup.
Remove the enterprise repository (requires a paid subscription) and add the community repo.
⚠️ PBS on Debian Trixie uses the DEB822 format (
.sourcesfiles), not the old.listformat. Don’t mix them up.
# SSH into your PBS machine as root, then:
# Remove enterprise repo (DEB822 format)
rm /etc/apt/sources.list.d/pbs-enterprise.sources
# Add the no-subscription community repository in DEB822 format
cat > /etc/apt/sources.list.d/pbs-community.sources << 'EOF'
Types: deb
URIs: http://download.proxmox.com/debian/pbs
Suites: trixie
Components: pbs-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
# Update and upgrade
apt update && apt full-upgrade -y
⚠️ If
apt updatethrows aNO_PUBKEYerror, the Proxmox signing key is missing. Fix it with:wget -q https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg \ -O /usr/share/keyrings/proxmox-archive-keyring.gpg apt update && apt full-upgrade -y
The no-subscription repository receives the same packages as the enterprise one — the only difference is no commercial support. For a homelab this is the standard approach.
Reboot after upgrades if the kernel was updated:
reboot
Once back online, your dedicated Proxmox Backup Server setup is fully updated and ready for storage configuration.
Step 4 — Prepare and Add the Datastore Disk 🗄️
The datastore disk is the heart of your dedicated Proxmox Backup Server setup — this is where all backups live. Let’s prepare it properly.
First, identify your datastore disk:
lsblk -d -o NAME,SIZE,MODEL
In my case the Seagate 1 TB shows as /dev/sdb. Adjust for your setup.
Partition the disk:
# Create a single partition spanning the full disk
sgdisk -Z /dev/sdb # wipe existing partition table
sgdisk -N 1 /dev/sdb # create one partition using all space
Format as ext4:
mkfs.ext4 -L pbs-data /dev/sdb1
⚠️ This erases everything on
/dev/sdb. Double-check the device name withlsblkbefore running.
Create a mount point and get the UUID:
mkdir -p /mnt/pbs-datastore
blkid /dev/sdb1
Copy the UUID value from the output. Then add it to /etc/fstab for automatic mounting:
# Replace YOUR-UUID-HERE with the actual UUID from blkid output
echo "UUID=YOUR-UUID-HERE /mnt/pbs-datastore ext4 defaults,nofail 0 2" >> /etc/fstab
# Apply fstab and verify
mount -a && df -h /mnt/pbs-datastore
You should see the 1 TB partition mounted at /mnt/pbs-datastore.
Add the datastore in the PBS web UI:
Open https://YOUR-PBS-IP:8007 in your browser and log in as root. In the left sidebar you’ll see a Datastore section. Click the Add Datastore button in the top-left area of the main panel (not the sidebar — it’s a button above the content area).
Fill in:
- Name:
main-backup - Path:
/mnt/pbs-datastore
Leave everything else as default and click Add. PBS initializes the required directory structure automatically (chunks/, ct/, vm/ subdirectories). The new datastore main-backup appears immediately in the left sidebar under Datastore.
Set a retention policy while you’re here — click main-backup in the left sidebar → go to the Options tab → find Prune Schedule → click Edit. A reasonable starting point:
keep-daily 7
keep-weekly 4
keep-monthly 3
This keeps daily backups for a week, weekly for a month, and monthly for a quarter.
Step 5 — Connect Your Dedicated Proxmox Backup Server Setup to Proxmox VE 🔗
Now you need to tell Proxmox VE where PBS lives.
On the PBS machine — get the TLS fingerprint:
proxmox-backup-manager cert info | grep Fingerprint
Copy the fingerprint string — it looks like AB:CD:EF:....
On your Proxmox VE node, go to: Datacenter → Storage → Add → Proxmox Backup Server
Fill in:
- ID:
pbs-main - Server:
192.168.1.50 - Username:
root@pam - Password: your PBS root password
- Datastore:
main-backup - Fingerprint: paste the value you copied
Click Add. Proxmox VE connects, verifies the fingerprint, and pbs-main now appears as an available storage target. Your dedicated Proxmox Backup Server setup is connected. 🎉
Step 6 — Create a Backup Job and Run Your First Backup 📅
In Proxmox VE, go to Datacenter → Backup → Add.
Configure:
- Storage:
pbs-main - Schedule:
08:00(we’ll automate this smarter in Part 2) - Mode:
Snapshot— fastest, works for most LXC containers - Retention: you can set per-job retention or rely on the datastore policy
Select which VMs and containers to include. I’m backing up all of mine: WireGuard VPN, Scrutiny, OneDrive sync, and Immich.
Click Create, then immediately trigger a manual run:
Datacenter → Backup → select your job → Run Now
Watch the task log in the top-right corner of the PVE UI. A healthy backup ends with:
INFO: backup finished successfully
Once it finishes, go to your PBS web UI → Datastore → main-backup → Content. You should see your snapshots listed with timestamps, sizes, and deduplication ratios. This is the core value of a dedicated Proxmox Backup Server setup — first-run dedup ratios won’t be impressive, but they improve with each subsequent backup as PBS finds shared chunks between containers.
Step 7 — Verify Backup Integrity ✅
Don’t skip this. The whole point of a dedicated Proxmox Backup Server setup is knowing your backups actually work.
In PBS web UI: Datastore → main-backup → Verify All
PBS will read every stored chunk and verify it against its SHA-256 hash. If anything is corrupted, you’ll see it here — not when you desperately need to restore at 2 AM.
You can also schedule automatic verification: in PBS web UI go to Datastore → main-backup → Verify Jobs tab → Add:
- Schedule:
weekly - Re-Verify After:
30days - Skip Verified: enable ✅
This way PBS re-checks all chunks weekly without re-verifying recently confirmed ones.
What’s Next? 🔜
Your dedicated Proxmox Backup Server setup is now live: PBS is installed on dedicated hardware, the datastore is configured, Proxmox VE is connected, and your first verified backup is sitting safely on a separate machine.
But right now PBS runs 24/7, which wastes power. In Part 2, I’ll show you how to:
- Wake PBS automatically via Home Assistant at 08:00 only when mains power is available (no wasted battery from your UPS)
- Automatically shut down PBS after all backup tasks complete
Stay tuned. 🏠
