Hardware and Storage
Our storage strategy is designed for performance on local services and cost-efficiency for offsite protection.
Physical Assets
Section titled “Physical Assets”- Main Server: Mini PC (Intel/AMD) with a single NVMe/SSD internal drive.
- Network: 600 Mbps Fiber connection.
Storage Allocation
Section titled “Storage Allocation”We use a flat structure on the internal drive, managed declaratively by NixOS.
| Mount Point | Purpose | Backup Status |
|---|---|---|
/ (Root) | Operating System (Nix Store) | ❌ No (Reproducible) |
/var/lib | Persistent Service Data (DBs, Configs) | ✅ Yes |
/repo/homelab | Infrastructure as Code (Nix configs) | ✅ Yes |
/mnt/data/media | Media Library (Movies, Series) | ❌ No |
/mnt/data/downloads | Transmission Incomplete/Complete downloads | ❌ No |
Backup Destinations
Section titled “Backup Destinations”We follow the 3-2-1 backup rule (modified for current hardware availability):
Current (Active)
Section titled “Current (Active)”- Primary Cloud (Offsite): Backblaze B2 via Restic. Encrypted locally and synced daily. This is our “Golden Copy” for disaster recovery.
Future Expansion (Planned)
Section titled “Future Expansion (Planned)”- Local Secondary: External USB Drive. Planned for fast local restores without relying on internet bandwidth.
- Geographical Redundancy: Remote SFTP. A second offsite copy in a different cloud provider or physical location.
Data Lifecycle
Section titled “Data Lifecycle”- Creation: Services (Home Assistant, Radarr, etc.) write data to
/var/lib. - Persistence: NixOS ensures that these paths are preserved across rebuilds.
- Protection: Every night at 03:00, Restic snapshots these directories to Backblaze B2.
- Pruning: Old snapshots are removed automatically to keep storage usage optimized.