Dedicated Proxmox Backup Server Setup: The Smart Homelab Guide (Part 1)

dedicated-proxmox-backup-server-setup.md
title Dedicated Proxmox Backup Server Setup: The Smart Homelab Guide (Part 1)
date
author VahaC
read 9 min read
category Self-Hosting
tags #Backup #Homelab #Proxmox
Dedicated Proxmox Backup Server Setup: The Smart Homelab Guide (Part 1)

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: dd will wipe the target device completely and without any confirmation prompt. Run lsblk first and make absolutely sure /dev/sdX is 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 (.sources files), not the old .list format. 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 update throws a NO_PUBKEY error, 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 with lsblk before 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: 30 days
  • 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. 🏠

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.