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
- Go to rclone.org/downloads
- Download rclone for Windows AMD64
- Extract the zip file
- Copy
rclone.exetoC:\rclone\rclone.exe - Add rclone to your system PATH:
- Search Environment Variables in Windows search
- Click Edit the system environment variables
- Click Environment Variables
- Under System variables → find Path → Edit
- Click New → enter
C:\rclone - Click OK on all dialogs
- Open a new Command Prompt and verify:
cmd rclone --version
Step 2 — Configure rclone with Backblaze B2
- Open Command Prompt and run:
cmd rclone config - Type
nfor new remote → Enter - Name:
backblaze→ Enter - Type
b2→ Enter - account: paste your
keyID→ Enter - key: paste your
applicationKey→ Enter - Hard delete files:
false→ Enter - Advanced config:
n→ Enter - Confirm settings →
y→ Enter - Type
qto 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:
- Open File Explorer → This PC → Map network drive
- 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
- Search Task Scheduler → open it
- Click Create Basic Task
- Fill in:
- Name:
NAS Backup to Backblaze - Description:
Nightly sync of NAS and mini PC config to B2 - Trigger: Daily at 2:00 AM
- Action: Start a program
- Program:
C:\rclone\backup-nas.bat - 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-backup → Browse 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.