Skip to content

Phase 7 — NAS Backup

Goal: Set up automated nightly offsite backup of all photos, documents, and application configurations to Backblaze B2 cloud storage. This ensures that even if the NAS is stolen, destroyed, or suffers a catastrophic failure, your irreplaceable data is safe.

Time estimate: 45–60 minutes
What you need: Mini PC running Windows, Backblaze B2 account (created in Phase 7 prep), API keys saved in password manager
Prerequisites: Phase 1 complete (UNAS2 with Shared Drives), Phase 5 complete (Docker stack running), Backblaze B2 bucket ahanabipin-nas-backup created, API keys saved


What Gets Backed Up

From the UNAS2 (via rclone → Backblaze B2)

Shared Drive Backed Up Reason
Photos_Bipin ✅ Yes Irreplaceable
Photos_Ahana ✅ Yes Irreplaceable
Documents_Bipin ✅ Yes Important
Documents_Ahana ✅ Yes Important
Documents_Shared ✅ Yes Important
Backups ✅ Yes Contains system configs + mini PC config
Media_Library ❌ No Re-downloadable

From the Mini PC (via robocopy → NAS → Backblaze B2)

Source Destination on NAS Then to B2
C:\docker\mediastack\config\ Backups\minipc-config\ ✅ Yes, via Backups share

Why back up the mini PC config? Every app in your Docker stack (Jellyfin, Seerr, Radarr, Sonarr, Prowlarr, qBittorrent) stores its database and configuration as SQLite files inside C:\docker\mediastack\config\. This includes your entire Jellyfin library metadata, Radarr movie list, Sonarr watchlist, Seerr request history, and all app settings. If the mini PC dies without this backup, you would need to reconfigure everything from scratch.

Why Option 1 (NAS first, then B2)? Copying mini PC config to the NAS first means it flows through the existing rclone pipeline to B2 automatically — one backup script, one pipeline. It also means the config is available locally on the NAS for quick recovery even without internet access.

RAID 1 is not a backup. RAID 1 protects against a single drive failure but not against theft, fire, accidental deletion, or firmware corruption. Backblaze B2 is your true offsite safety net.


Your Backblaze B2 Configuration

Bucket:     ahanabipin-nas-backup (Private, Encrypted)
Key Name:   ahanabipin-nas-rclone
keyID:      saved in password manager
applicationKey: saved in password manager

Backup Flow

Mini PC
C:\docker\mediastack\config\
        ↓ robocopy (nightly)
UNAS2 — Backups\minipc-config\
        ↓
UNAS2 — All Shared Drives
(Photos_Bipin, Photos_Ahana,
 Documents_*, Backups)
        ↓ rclone (nightly)
Backblaze B2
ahanabipin-nas-backup/
├── Photos_Bipin/
├── Photos_Ahana/
├── Documents_Bipin/
├── Documents_Ahana/
├── Documents_Shared/
└── Backups/
    └── minipc-config/

Step 1 — Install rclone on Windows

  1. Go to rclone.org/downloads
  2. Download rclone for Windows AMD64
  3. Extract the zip file
  4. Copy rclone.exe to C:\rclone\rclone.exe
  5. Add rclone to your system PATH:
  6. Search Environment Variables in Windows search
  7. Click Edit the system environment variables
  8. Click Environment Variables
  9. Under System variables → find PathEdit
  10. Click New → enter C:\rclone
  11. Click OK on all dialogs
  12. Open a new Command Prompt and verify: cmd rclone --version

Step 2 — Configure rclone with Backblaze B2

  1. Open Command Prompt and run: cmd rclone config
  2. Type n for new remote → Enter
  3. Name: backblaze → Enter
  4. Type b2 → Enter
  5. account: paste your keyID → Enter
  6. key: paste your applicationKey → Enter
  7. Hard delete files: false → Enter
  8. Advanced config: n → Enter
  9. Confirm settings → y → Enter
  10. Type q to quit

Test the connection:

rclone ls backblaze:ahanabipin-nas-backup

No output on an empty bucket is correct. An error means your credentials need rechecking.


Step 3 — Map NAS Shared Drives for Backup

Map all Shared Drives as network drives on the mini PC. You already have Z:\ mapped to Media_Library. Map the remaining drives:

  1. Open File Explorer → This PC → Map network drive
  2. For each drive below, tick Reconnect at sign-in and Connect using different credentials, then enter your File Service Credentials:
Drive NAS Path Shared Drive
P: \\192.168.1.2\Photos_Bipin Photos_Bipin
Q: \\192.168.1.2\Photos_Ahana Photos_Ahana
R: \\192.168.1.2\Documents_Bipin Documents_Bipin
S: \\192.168.1.2\Documents_Ahana Documents_Ahana
T: \\192.168.1.2\Documents_Shared Documents_Shared
U: \\192.168.1.2\Backups Backups

Step 4 — Create the Backup Script

Create C:\rclone\backup-nas.bat:

@echo off
echo ======================================== >> C:\rclone\backup.log
echo NAS Backup started: %date% %time% >> C:\rclone\backup.log

echo [1/7] Copying mini PC config to NAS... >> C:\rclone\backup.log
robocopy "C:\docker\mediastack\config" "\\192.168.1.2\Backups\minipc-config" /MIR /R:2 /W:5 /LOG+:C:\rclone\backup.log

echo [2/7] Syncing Photos_Bipin to B2... >> C:\rclone\backup.log
rclone sync P:\ backblaze:ahanabipin-nas-backup/Photos_Bipin --transfers=4 --log-file=C:\rclone\backup.log --log-level=INFO

echo [3/7] Syncing Photos_Ahana to B2... >> C:\rclone\backup.log
rclone sync Q:\ backblaze:ahanabipin-nas-backup/Photos_Ahana --transfers=4 --log-file=C:\rclone\backup.log --log-level=INFO

echo [4/7] Syncing Documents_Bipin to B2... >> C:\rclone\backup.log
rclone sync R:\ backblaze:ahanabipin-nas-backup/Documents_Bipin --transfers=4 --log-file=C:\rclone\backup.log --log-level=INFO

echo [5/7] Syncing Documents_Ahana to B2... >> C:\rclone\backup.log
rclone sync S:\ backblaze:ahanabipin-nas-backup/Documents_Ahana --transfers=4 --log-file=C:\rclone\backup.log --log-level=INFO

echo [6/7] Syncing Documents_Shared to B2... >> C:\rclone\backup.log
rclone sync T:\ backblaze:ahanabipin-nas-backup/Documents_Shared --transfers=4 --log-file=C:\rclone\backup.log --log-level=INFO

echo [7/7] Syncing Backups (incl. mini PC config) to B2... >> C:\rclone\backup.log
rclone sync U:\ backblaze:ahanabipin-nas-backup/Backups --transfers=4 --log-file=C:\rclone\backup.log --log-level=INFO

echo NAS Backup completed: %date% %time% >> C:\rclone\backup.log
echo ======================================== >> C:\rclone\backup.log

How this works: Step 1 (robocopy) copies the mini PC's Docker config folder to Backups\minipc-config\ on the NAS. Steps 2–7 (rclone) then sync all NAS Shared Drives including Backups to B2. This means the mini PC config flows through the NAS to B2 in one pipeline.

rclone sync copies new and changed files from source to destination. Files deleted from the NAS are also removed from B2 after the hard-delete grace period — keeping B2 as a true mirror.

Test the script manually first:

C:\rclone\backup-nas.bat

Watch the output and check C:\rclone\backup.log for any errors. After a few minutes, check Backblaze dashboard → browse ahanabipin-nas-backup to confirm files are appearing including Backups/minipc-config/.

The first full backup run will take several hours depending on your total data size and upload speed. Let it run overnight. Subsequent nightly runs only sync changed files and are much faster.


Step 5 — Schedule the Nightly Backup Task

  1. Search Task Scheduler → open it
  2. Click Create Basic Task
  3. Fill in:
  4. Name: NAS Backup to Backblaze
  5. Description: Nightly sync of NAS and mini PC config to B2
  6. Trigger: Daily at 2:00 AM
  7. Action: Start a program
  8. Program: C:\rclone\backup-nas.bat
  9. Click Finish

Additional settings: 1. Right-click the task → Properties 2. Conditions tab: - Tick Start only if network connection is available 3. Settings tab: - Tick Run task as soon as possible after a scheduled start is missed — ensures backup runs even if mini PC was off at 2am 4. General tab: - Select Run whether user is logged on or not - Enter your Windows password 5. Click OK


Step 6 — Monitor Backup Health

Check the log regularly: Open C:\rclone\backup.log to see all backup runs — start time, files transferred, any errors, completion time.

Check Backblaze dashboard: Log into backblaze.com → B2 Cloud Storage → ahanabipin-nas-backupBrowse Files to confirm data is present including Backups/minipc-config/.

Storage cost reference: Backblaze B2 costs $0.006 per GB per month:

500GB × $0.006 = $3/month ≈ ₹250/month

Download costs only apply when restoring data — normal backup operations have no download fees.


Step 7 — Test a Restore

Before relying on this backup, test a restore for both backup types:

Test NAS file restore (rclone):

rclone copy backblaze:ahanabipin-nas-backup/Photos_Bipin/[subfolder]/[file.jpg] C:\temp\restore-test\

Confirm the file downloads and opens correctly.

Test mini PC config restore (robocopy):

robocopy "\\192.168.1.2\Backups\minipc-config" "C:\temp\config-restore-test" /MIR

Confirm the config folder structure is intact and files are readable.

If both tests pass, your backup is working end-to-end.


Recovery Scenarios

Scenario 1 — Single NAS drive fails: RAID 1 handles this automatically. Replace the failed drive, UNAS2 rebuilds the RAID mirror. No data loss, no restore needed.

Scenario 2 — Both NAS drives fail or NAS stolen: 1. Get a new NAS, configure Shared Drives with same names 2. Use rclone to restore from B2: cmd rclone sync backblaze:ahanabipin-nas-backup/Photos_Bipin P:\ rclone sync backblaze:ahanabipin-nas-backup/Photos_Ahana Q:\ Repeat for each Shared Drive.

Scenario 3 — Mini PC dies: 1. Set up new mini PC, install Docker Desktop 2. Copy minipc-config from NAS back to mini PC: cmd robocopy "\\192.168.1.2\Backups\minipc-config" "C:\docker\mediastack\config" /MIR 3. Run docker compose up -d — all apps restore with their previous configuration, databases, and settings intact. No reconfiguration needed.

Scenario 4 — Accidental file deletion: Check UNAS2 snapshots first (configured in Phase 1) — if the file was deleted within the snapshot retention window (7–14 days), restore it directly from the snapshot in UniFi Drive. If older than the snapshot window, restore from Backblaze B2.


When to Consider Leaving Google / iCloud

Once this phase is complete and confirmed working:

  • ✅ Photos on UNAS2 (primary copy, RAID 1)
  • ✅ Photos on Backblaze B2 (offsite backup)
  • ✅ New photos auto-backing up via FolderSync / PhotoSync
  • ✅ Mini PC config backed up to NAS and B2

You can safely: 1. Delete photos from Google Photos year by year 2. Downgrade or cancel Google One storage subscription 3. Confirm iCloud storage is not used for photos (Ahana's iCloud Photos is already disabled)

Delete gradually — one year at a time, verify NAS and B2 copies are intact, then move to the next year.


Verification Checklist

  • [ ] rclone installed and verified
  • [ ] Backblaze B2 remote configured in rclone
  • [ ] rclone connection to B2 tested successfully
  • [ ] All NAS Shared Drives mapped (P: through U:)
  • [ ] Backup script created at C:\rclone\backup-nas.bat
  • [ ] robocopy line confirmed — mini PC config copies to NAS
  • [ ] Manual backup test run successfully
  • [ ] Backups/minipc-config/ visible in Backblaze B2 dashboard
  • [ ] NAS file restore test completed successfully
  • [ ] Mini PC config restore test completed successfully
  • [ ] Scheduled task created (daily 2am, run if missed)
  • [ ] Backup log showing successful runs

Ongoing Maintenance

Monthly: Check backup.log for errors — confirm all 7 steps completing successfully each night.

Quarterly: Log into Backblaze and verify file counts and storage usage match expectations.

Annually: Run a full restore test. Run a mini PC config restore test. Confirm all apps come back correctly.

After any major app reconfiguration (e.g. adding a new indexer in Prowlarr, adding a new Jellyfin library): run the backup script manually immediately so the new config is captured before the next nightly run.

When adding a new Shared Drive to UNAS2: 1. Map it as a new drive letter on the mini PC 2. Add a new rclone sync line to backup-nas.bat 3. Run the script manually for the initial upload


Phase 7 complete. All phases are now documented. Return to the overview for a full summary.