Skip to content

restore-homelab.sh

Summary

This version restores only the critical homelab infrastructure:

  • CT 104 – Unbound
  • CT 102 – AdGuard
  • CT 101 – Docker
  • CT 103 – Paperless
  • CT 105 – Cloudflared
  • VM 100 – Home Assistant

Windows VM 200 is intentionally excluded and should be rebuilt manually if needed.


What's new

  • VM 200 removed from the restore flow
  • Added preflight checks:
  • backup directory exists
  • backup directory is readable
  • all required CT backups exist
  • required VM backup exists

If one of the required backups is missing, the script stops before doing anything.


text /root/scripts/restore-homelab.sh

Install:

bash mkdir -p /root/scripts chmod +x /root/scripts/restore-homelab.sh


Usage

Dry run:

bash bash /root/scripts/restore-homelab.sh --plan

Actual restore:

bash bash /root/scripts/restore-homelab.sh --run

Replace existing guests:

bash bash /root/scripts/restore-homelab.sh --run --force


Important

This script assumes:

  • Proxmox is already installed
  • Synology backup storage is already added/mounted
  • backup path exists: /mnt/pve/synology-backups/dump

Best practice

Keep copies of the script in:

  • Proxmox host
  • MkDocs / Git repo
  • Synology shared folder

That way the script is still available even if parts of the homelab are down.