My Pet NAS
- Published on
- · 4 min read
- Author
-
I got into a frivolous hobby as an escape from the routine feature flipping and AI duckfeeding at work.
At first I got a Raspberry Pi as a low stakes way to learn Linux things, but one thing led to another, and now I have a NAS, an ad-blocking DNS sinkhole, and a Linux server on my home network (blogs tbd).
Physical electronics was always intimidating to me, so I set myself the smallest goal of just using it for image storage and backup in order to wean off 3+ subscriptions for cloud storage.
Unlike software, hardware choices aren’t easily reversible. There seemed to be 6 times the decisions to make compared to shopping for an ergo keyboard.
I probably spent 6 months reading up on whether to:
- build my own Raspberry Pi NAS with 2 hard drives or buying a sexy NAS enclosure that would work right off the shelf with a .1
- which RAID configuration to use on the setup
- which filesystem format the hard drives (the moral question of whether to format the nas and storage partitions with btrfs, ext4, or zfs)
- the 3-2-1 backup strategy for the setup


The resultant setup:
12 * micro SD cards- Raspberry Pi 4 Model B with 4GB RAM
- Western Digital Red Plus Internal NAS HDD 3.5” - 6TB
- Seagate BarraCuda Internal SATA 3.5” - 4TB
- Geekworm NASPi Gemini 3.5 Dual 3.5” SATA HDD NAS Storage Kit as enclosure with a 12 V 5A power supply adapter
Everything cost about ~$1000 CAD and most of it went to hard disks, which I waited til Black Friday to buy from Newegg.
Services I’m running
- Immich for photo and video storage
- ufw, ufw-docker and Fail2ban for firewalling and intrusion detection
- tailscale as a VPN-of-sorts for remote access from outside the home
- hd-idle to spin down hard disks when they’re not in use
- Prometheus to monitor system performance
- Node Exporter to scrape system performance metrics
- Grafana for fancy dashboards
- a cron schedule for quarterly disk scrubbing

It’s beautiful!
What I learned
-
It’s not necessary to have both drives be the same brand or exactly the same storage size and format. I created a RAID 1 partition in btrfs and use the remaining 2TB for file and logstorage.
-
I initially installed a 32-bit OS (debian-bookworm), which Immich didn’t support, so I had to re-image the other card with a 64-bit one.
-
Low power consumption is one of the main perks of single board computers, but one of the drawbacks also when building a NAS like this. I went with the Geekworm enclosure because it had its own power supply so I wouldn’t have to think about how to power 2 separate USB hubs to transfer data to 2 hard drives. Every peripheral consumes power such that plugging an extra tiny USB monitor can cause this setup to run out of memory.
-
Frequently writing to micro SD can cause it to wear out faster so I had to move whatever had a lot of writing activity to the storage partition of the NAS drive, like SWAP ram, logs, and backups for syncthing.
-
It’s better to have a USB key or 2 on hand sooner than later. It’s nice to use as a substitute storage early on but they come in handy for reimaging anything later.
To use cloud or not for offsite backup
A segment of the homelab community seem to prefer keeping things off cloud due to distrust of big tech’s everchanging privacy policies, but according to the “offsite” piece of the 3-2-1 backup strategy… I can’t think of how that offsite backup can be kept in sync without using a cloud service.
And how “off-site” is offsite anyway? Would a backyard shed running starlink count? In that case, a local network transfer would be possible.
Backblaze seems like a popular options but I haven’t implemented it yet.
Footnotes
-
If you spend any amount of time in tech communities, there will always be neckbeards coming out of the woodwork to tell you how stupid it is to use a Raspberry Pi to build a home server when mini PCs give you way more bang for your buck. For the most part they were right after some more months of reading and building, I think having less things to learn than more to configure overall made sticking with the hobby much easier. I only know what I know now after tackling one piece of a system at a time. ↩