Homelab Series Index
Digital freedom: creating a personal services ecosystem without depending on big tech.
From Operational Services to Data Protection Link to heading
With Immich managing personal photos, Navidrome for music, and AFFiNE handling notes and projects, the homelab has reached interesting operational maturity. I’ve been using these services daily for a while, and the time has come to address the most critical and boring issue: protecting what we’ve built.
Backup isn’t just a technical best practice, it’s the insurance that transforms a hobbyist experiment into reliable infrastructure. Losing data would be devastating and unacceptable.
Risk Analysis: What We’re Protecting Link to heading
The current homelab presents two types of assets with different priorities:
Critical Data (Irreplaceable):
- Personal photos and family memories on Immich
- Personalized music collection on Navidrome
- Documents and projects on AFFiNE
Recreatable Configurations (Replaceable):
- Proxmox LXC containers
- Docker Compose configurations
- Application and service setups
The distinction is fundamental: losing a container means 1-2 hours of reconfiguration, losing family photos means losing irreplaceable memories.
Enterprise Solutions: Powerful but Overkill? Link to heading
Proxmox Backup Server (PBS) Link to heading
What it is: Enterprise solution developed by Proxmox for professional backups with advanced deduplication, incremental backups, and automatic integrity verification.
How it works: PBS analyzes data at the block level, eliminates duplications, and maintains only the differences between successive backups. Ten Ubuntu containers could occupy the space of just one thanks to intelligent deduplication.
Considerable advantages:
- Massive deduplication (60-80% space savings)
- Lightning-fast incremental backups
- Automatic integrity verification with checksums
- Integrated professional web interface
- Native end-to-end encryption
Critical limitation: PBS is designed for container and VM backups, not for external mount point backups. Our Immich and Navidrome data on external disks remains excluded from the automatic system.
Conclusion: Excellent for infrastructures with many similar containers, but unsuitable for homelabs with primary data on external storage.
Restic: Modern Backup with Versioning Link to heading
What it is: Modern incremental backup tool with deduplication, native encryption, and multi-cloud support. It represents the modern evolution of backups with focus on security and efficiency.
Advanced features:
- Immutable snapshots in time (“I want photos from 2 weeks ago”)
- Automatic deduplication (7 backups = ~1.2× space instead of 7×)
- Transparent encryption for cloud storage
- Protection against human errors and ransomware
- Automatic integrity verification
Ideal use scenario: Frequent backups of frequently changing data, need for multiple versioning, encrypted cloud storage.
Trade-offs: Greater configuration and management complexity, files not directly readable (restore required for access), non-trivial learning curve.
The KISS Choice: Rsync with Intelligent Rotation Link to heading
After analyzing advanced solutions, the choice falls on a different approach: operational simplicity over enterprise features.
Why Rsync Wins for Our Case Link to heading
Total transparency: Backups are directly readable directories, without restore tools or complex procedures. A simple ls shows all files, a simple cp restores them.
Rock-solid reliability: Rsync has been used for 25+ years in critical environments. It doesn’t break, has no complex dependencies, requires no maintenance.
Immediate recovery: No snapshots to navigate or restore commands to remember. The files are there, ready to be copied wherever needed.
Complete control: Every operation is transparent and debuggable. If something goes wrong, it’s immediate to understand what and why.
Implemented Strategy: The Best of Both Worlds Link to heading
Hardware Setup Link to heading
- Internal disk: For now it’s a 256GB M.2, I’ll evaluate whether to increase
- External disk: For now it’s a 256GB 2.5" SSD, I’ll evaluate whether to increase
- Backup disk: 2TB external HDD permanently connected to Proxmox
How It Works in Practice Link to heading
The system is designed to work autonomously without me having to remember it. Every night at 3:00 AM a script starts that backs up everything that matters: Immich photos, Navidrome music, AFFiNE data plus all Docker configurations and an export of Proxmox container settings.
The beauty is in automatic rotation: when today’s backup succeeds, yesterday’s is deleted to not waste space. But Sunday is special - the daily backup is preserved as a weekly backup, replacing the previous week’s one.
Result: I always have two snapshots of my homelab available - last night’s and last Sunday’s. If Monday morning I discover I made some mess during the weekend, I can always return to the Sunday backup.
The Simplified 3-2-1 Strategy Link to heading
Following the classic backup rule (3 copies, 2 media, 1 off-site), but adapted to homelab needs:
Primary copy: The original data on the server, what I use every day Secondary copy: The automatic backup on the 2TB external HDD, always updated Off-site copy: Every 2-3 weeks I prepare an encrypted backup with Cryptomator and upload it to Filen.io
For cloud backup I prefer manual control - I can choose when to do it (maybe when I have unlimited wifi) and personally verify that everything went smoothly.
MANDATORY Test and Recovery Link to heading
Here comes the most important and often neglected part: verifying that backups actually work. Every three months I do a complete test: create a temporary container, restore data from backup and verify that everything is readable and intact.
If the worst should happen (server completely fried), the procedure is documented: new Proxmox setup, configuration restore, data copy from backup and service restart. Estimated time: a few hours to be operational again, with maximum 24 hours of data loss.
Scripts and Automation Link to heading
The entire strategy is implemented in a single bash script that manages:
- Automatic backup of all critical data
- Daily and weekly rotation
- Proxmox configuration export
- Detailed logging and space monitoring
- Operation integrity verification
Complete automation: Once configured, the system works without human intervention. Cron executes the backup every night, the script manages rotations and cleanups, logs allow status monitoring.
GitHub iCloudio: homelab-backup - Complete script, setup guide and disaster recovery documentation.
Conclusion Link to heading
The search for the “perfect” solution often leads to over-engineering. For personal homelab, the winning strategy balances protection and operational simplicity.
Not always more features = better: PBS and Restic offer excellent advanced features, but their complexity doesn’t justify the benefits for our use case.
Working backup > theoretically perfect backup: A simple solution that I use regularly and know how to manage is worth more than an advanced solution that requires skills I don’t have.
Regular tests are fundamental: The best strategy in the world is useless if I don’t verify it works when needed.
Future Evolution Link to heading
When and if the homelab grows, it will be time to reconsider more sophisticated solutions. But for now, this strategy perfectly covers current needs with minimum operational overhead.
The beauty of the incremental approach: we start simple, learn from real problems, evolve when necessary.
→ Continue with: Homelab: Paperless-NGX and Document Management