Why I Built Instead of Buying a Synology
I needed network-attached storage for:
- Photography backups: 2 TB of RAW files
- Media server: 8 TB of Plex content
- Time Machine backups: 3 laptops
- Security camera footage: 24/7 recording from 4 cameras
- Document storage: Replacing Dropbox ($120/year)
Pre-built NAS options:
| Option | Usable Capacity | Price | Cost per TB |
|---|---|---|---|
| Synology DS923+ (4-bay) | 16 TB (4× 4TB drives) | $1,200 total | $75/TB |
| QNAP TS-464 (4-bay) | 16 TB (4× 4TB drives) | $1,100 total | $68.75/TB |
| DIY TrueNAS build | 20 TB (RAID-Z1, 4× 4TB) | $400 total | $20/TB |
DIY wins on price, capacity, and flexibility. Synology is plug-and-play, but you pay a massive premium.
I went DIY. Best decision I made.
Final build: 20TB usable storage, silent operation, draws 18W idle
Parts List: $400 Total
Motherboard + CPU: AsRock J4125-ITX ($140)
AsRock J4125-ITX is a mini-ITX board with integrated Intel Celeron J4125 quad-core CPU.
Specs:
- CPU: Intel J4125, 4 cores @ 2.0-2.7 GHz, 10W TDP
- RAM: 2× SO-DIMM slots, supports up to 16 GB DDR4
- SATA: 4× SATA III 6 Gb/s ports (perfect for 4-drive NAS)
- Network: 2× Gigabit Ethernet (NIC teaming for 2 Gbps)
- Power: 12V DC input (no ATX PSU needed)
Why this board?
- Low power: 10W TDP CPU means low electricity bills
- Fanless: Completely silent (no CPU fan required)
- 4 SATA ports: Exactly what I need for 4 drives
- Dual gigabit NICs: Link aggregation for 2 Gbps throughput
- Cheap: $140 for motherboard + CPU combo
The J4125 isn’t fast, but NAS workloads don’t need speed. File serving, Plex transcoding (hardware-accelerated), and backup tasks run fine.
Storage: 4× WD Red Plus 4TB ($320 total, $80 each)
WD Red Plus 4TB drives are CMR (Conventional Magnetic Recording), not SMR.
Why CMR matters:
- CMR: Random writes perform well, reliable for RAID
- SMR: Random writes are slow, RAID rebuilds take 10× longer
Never use SMR drives in RAID. Always CMR.
WD Red Plus specs:
- Capacity: 4 TB per drive
- RPM: 5,400 (quiet, low power)
- Cache: 128 MB
- MTBF: 1 million hours
- Warranty: 3 years
- Workload rate: 180 TB/year
I’m using RAID-Z1 (ZFS equivalent of RAID-5):
- 4× 4TB drives = 16 TB raw
- RAID-Z1 = 12 TB usable (1 drive parity)
- ZFS compression enabled = ~20 TB effective
Case: Fractal Design Node 304 ($90)
Fractal Node 304 is a mini-ITX cube that fits 6× 3.5” drives.
Why I like this case:
- Compact: 10.2” × 14.7” × 8.3” (fits on a shelf)
- 6 drive bays: Room for expansion (currently using 4)
- Quiet: Includes 3× quiet 92mm fans
- Dust filters: Removable magnetic filters on all intakes
- Solid build: Steel + plastic, no sharp edges
The Node 304 is the sweet spot for home NAS. Small enough for a living room shelf, big enough for serious storage.
RAM: 16GB Crucial DDR4 ($40)
16GB DDR4 SO-DIMM kit (2× 8GB sticks).
ZFS loves RAM. Rule of thumb: 1 GB RAM per 1 TB storage.
I have 12 TB usable, so 16 GB is plenty. Could get away with 8 GB, but RAM is cheap.
PSU: 12V 120W Brick ($25)
The AsRock J4125-ITX uses 12V DC power (like a laptop). No ATX PSU needed.
I bought a generic 12V 10A (120W) power brick on Amazon. Silent, efficient, tiny.
Power consumption:
- Idle (4 drives spun down): 12W
- Active (4 drives spinning): 18W
- Peak (heavy writes): 28W
Cost per year: 18W × 24h × 365d ÷ 1000 × $0.12/kWh = $18.90/year
Compare to Synology DS923+ (37W idle): $38.90/year
My NAS saves $20/year on electricity.
Cables and Misc ($10)
- 4× SATA cables (came with motherboard)
- SATA power splitter (12V to SATA power adapter)
- Thermal paste (Arctic MX-4, already owned)
Total Cost: $625 → $400 on Sale
| Component | MSRP | Sale Price |
|---|---|---|
| AsRock J4125-ITX | $150 | $140 |
| 4× WD Red Plus 4TB | $400 | $320 (Black Friday) |
| Fractal Node 304 | $100 | $90 |
| 16GB Crucial RAM | $45 | $40 |
| 12V 120W PSU | $30 | $25 |
| Cables/misc | $10 | $10 |
| Total | $735 | $625 |
I built during Black Friday. WD drives were $80 each (normally $100). Saved $200.
Even at full price ($625), this destroys Synology’s $1,200 cost.
Build Process: Easier Than Expected
Step 1: Install CPU Heatsink (Not Needed)
The J4125 is fanless. The motherboard comes with a giant passive heatsink.
I added thermal paste (Arctic MX-4) between CPU and heatsink for better temps. Completely optional-stock thermal pad works fine.
Step 2: Install RAM
Popped in 2× 8GB SO-DIMM sticks. Satisfying click. Done.
Step 3: Mount Motherboard in Case
The Node 304 has a removable motherboard tray. Makes installation trivial.
- Screw standoffs into tray
- Screw motherboard onto standoffs
- Slide tray back into case
5 minutes.
Step 4: Install Drives
The Node 304 has 6 drive cages. I used 4.
Each cage holds one 3.5” drive. Slide drive in, screw in 4 screws. Repeat 4 times.
10 minutes total.
Step 5: Cable Management
This was the hardest part. 4 SATA data cables + 1 SATA power splitter = cable spaghetti.
Tips:
- Route SATA cables behind motherboard tray
- Use zip ties to bundle cables
- Leave slack for drive removal (hot-swappable)
Took 20 minutes to make it look clean.
Cable management: SATA cables routed behind tray, drives accessible from front
Step 6: Connect Power and Network
- Plug 12V DC barrel connector into motherboard
- Plug 2× Ethernet cables into both NICs (for link aggregation)
- Plug HDMI + USB keyboard (for initial setup)
Step 7: Install TrueNAS SCALE
Downloaded TrueNAS SCALE ISO (free, open-source).
Flashed to USB drive using Rufus (Windows) or dd (Linux).
Installation steps:
- Boot from USB
- Select “Install/Upgrade”
- Choose boot drive (I used a 16GB USB stick plugged internally)
- Set root password
- Reboot
15 minutes. Installation is brain-dead simple.
TrueNAS Configuration: ZFS Pool Setup
TrueNAS web UI: http://truenas.local (or IP address).
Create ZFS Pool (RAID-Z1)
- Storage → Create Pool
- Name:
tank - Layout: RAID-Z1 (4 drives, 1 parity)
- Drives: Select all 4× WD Red Plus 4TB
- Enable compression: LZ4 (default, improves capacity and speed)
- Enable deduplication: NO (requires massive RAM, not worth it)
Result:
- 16 TB raw capacity
- 12 TB usable (4 TB for parity)
- ~20 TB effective (thanks to LZ4 compression on text files, code, etc.)
RAID-Z1 provides single-drive redundancy. One drive can fail without data loss.
Create Datasets (Like Folders)
I created separate datasets for different use cases:
| Dataset | Purpose | Quota | Compression |
|---|---|---|---|
/tank/photos |
RAW photography files | 3 TB | LZ4 (minimal gains) |
/tank/media |
Plex movies/TV | 8 TB | None (already compressed) |
/tank/backups |
Time Machine + PC backups | 4 TB | LZ4 (high gains) |
/tank/cctv |
Security camera footage | 2 TB | None (H.264 already compressed) |
/tank/documents |
PDFs, spreadsheets, code | 1 TB | LZ4 (high gains) |
Datasets allow per-folder settings. For example, /tank/media has compression disabled because MP4 files don’t compress. /tank/backups has high compression because text files compress 3:1.
Enable SMB Shares (Windows/Mac File Sharing)
Windows/Mac integration:
- Sharing → Windows Shares (SMB)
- Add share: Select dataset (e.g.,
/tank/photos) - Set permissions: Read/write for my user account
- Enable: Turn on SMB service
Now I can access \\truenas\photos from Windows or smb://truenas/photos from Mac.
Enable Time Machine Backups
TrueNAS has built-in Time Machine support.
- Sharing → Apple Shares (AFP/SMB)
- Add share: Select
/tank/backups/timemachine - Enable Time Machine: Check the box
- Set quota: 500 GB per Mac (prevents backups from filling entire NAS)
On Mac: System Preferences → Time Machine → Select Disk → Choose TrueNAS
Backups run every hour automatically. No more external drives.
Enable Plex Media Server
TrueNAS can run Docker containers and VMs.
- Apps → Available Applications
- Search: Plex
- Install: Configure media folder (
/tank/media) - Launch: Plex Web UI opens
Plex runs natively on the NAS. The J4125 supports hardware transcoding (Intel Quick Sync), so 4K → 1080p transcoding works smoothly.
Performance Testing: How Fast Is It?
Sequential Read/Write (Network Transfer)
Testing with a 10 GB file over gigabit Ethernet:
| Operation | Speed | Time (10 GB) |
|---|---|---|
| Write to NAS | 112 MB/s | 89 seconds |
| Read from NAS | 115 MB/s | 87 seconds |
Bottleneck: Gigabit Ethernet (125 MB/s theoretical max).
With link aggregation (2× gigabit), I get 220 MB/s on multi-threaded transfers.
Random IOPS (Database/VM Workloads)
Not relevant for home NAS. I’m storing photos and videos, not running databases.
But for curiosity: 180 IOPS (4K random writes). Slow by SSD standards, but fine for HDDs.
Plex Transcoding
The J4125 has Intel Quick Sync for hardware transcoding.
Test: Transcode 4K HDR video to 1080p SDR.
Result: 60 FPS transcode (real-time playback). No stuttering, low CPU usage (40%).
Without Quick Sync, software transcoding would peg the CPU at 100% and struggle to maintain 24 FPS.
Quick Sync is essential for Plex on a low-power CPU.
Power Consumption: $19/Year
Measured with a Kill-A-Watt meter:
| State | Power Draw |
|---|---|
| Idle (drives spun down) | 12W |
| Active (drives spinning) | 18W |
| Heavy load (writing 100 MB/s) | 28W |
Average: 18W (drives spin down after 15 minutes of inactivity).
Annual cost: 18W × 24h × 365d ÷ 1000 × $0.12/kWh = $18.90/year
Compare to:
- Synology DS923+: 37W idle = $38.90/year
- QNAP TS-464: 42W idle = $44.10/year
My DIY NAS uses 50% less power than commercial options.
Noise Level: Silent
The Node 304 includes 3× 92mm fans. I replaced them with Noctua NF-A9 PWM fans ($15 each).
Result:
- Idle: 22 dB (quieter than a whisper)
- Active: 28 dB (quiet hum)
I can’t hear it from 6 feet away. My fridge is louder.
The J4125 is fanless, so the only noise comes from:
- Case fans (Noctua = silent)
- Hard drive seeks (WD Red = quiet)
Quietest server I’ve ever built.
Measured at 3 feet: 22 dB idle, 28 dB under load
Data Redundancy: How Safe Is My Data?
RAID-Z1: Single Drive Redundancy
One drive can fail without data loss. ZFS detects the failure and marks the drive as “degraded.”
I can hot-swap the failed drive (Node 304 supports hot-swap) and ZFS will resilver (rebuild) automatically.
Resilver time: ~8 hours for 4 TB drive.
Snapshots: Accidental Deletion Protection
ZFS snapshots are instant, copy-on-write backups.
I take snapshots:
- Every hour (kept for 24 hours)
- Every day (kept for 30 days)
- Every week (kept for 12 weeks)
If I accidentally delete a file, I can restore from a snapshot.
Disk usage: Snapshots only store changed blocks. 30 days of snapshots uses ~5% extra space.
Offsite Backups: Cloud Sync
Local redundancy protects against drive failure. But what if the house burns down?
I sync critical data to Backblaze B2 (cloud storage):
- Photos: 2 TB → B2 ($10/month)
- Documents: 200 GB → B2 ($1/month)
3-2-1 backup rule:
- 3 copies of data (NAS + 1 drive parity + cloud)
- 2 different media types (HDD + cloud)
- 1 offsite copy (Backblaze)
My data is safe.
Issues and Limitations
1. No ECC RAM
Proper NAS systems use ECC RAM to detect/correct memory errors. The J4125 motherboard doesn’t support ECC.
Risk: Memory bit flips could corrupt data. ZFS checksums detect corruption but can’t fix it without parity.
Mitigation: Regular scrubs + offsite backups. In 6 months, I’ve had zero errors.
For home use, non-ECC is acceptable. For business-critical data, spend extra on ECC-capable hardware.
2. Gigabit Ethernet Bottleneck
My network is gigabit. Max transfer speed: 125 MB/s.
For single-file transfers, this is fine. But editing 4K video directly from the NAS requires faster speeds.
Solution: Upgrade to 2.5 GbE or 10 GbE. The J4125 board has PCIe expansion (could add 10 GbE card).
I’ll upgrade when I need it.
3. CPU Struggles with Heavy Transcoding
The J4125 handles 1× 4K transcode fine. But 3× simultaneous transcodes peg the CPU.
Solution: Upgrade to Intel N5105 (30% faster) or use a dedicated GPU for transcoding.
For my use case (2 users max), the J4125 is fine.
Cost of Ownership: 5-Year Projection
| Year | Electricity Cost | Drive Replacement | Cloud Backup | Total Annual |
|---|---|---|---|---|
| 1 | $19 | $0 | $132 | $151 |
| 2 | $19 | $0 | $132 | $151 |
| 3 | $19 | $80 (1 drive) | $132 | $231 |
| 4 | $19 | $0 | $132 | $151 |
| 5 | $19 | $80 (1 drive) | $132 | $231 |
| Total | $95 | $160 | $660 | $915 |
Initial build: $400 5-year total: $400 + $915 = $1,315
Synology DS923+ equivalent:
- Initial cost: $1,200
- 5-year electricity: $195 ($39/year × 5)
- 5-year total: $1,395
My DIY NAS saves $80 over 5 years. Not huge, but I get:
- 20 TB usable (vs 12 TB on Synology)
- Full control over software/hardware
- More powerful specs
Worth it.
Should You Build or Buy?
✅ Build if:
- You’re comfortable with Linux/command line
- You want maximum storage per dollar
- You enjoy tinkering and customization
- You need specific features (VMs, Docker, etc.)
- You value low power consumption
❌ Buy pre-built if:
- You want plug-and-play simplicity
- You need vendor support and warranty
- You’re not comfortable with DIY troubleshooting
- Time is more valuable than money
Verdict: Best $400 I’ve Spent
This NAS has been rock-solid for 6 months. Zero downtime, zero data loss, zero issues.
What I use it for:
- Plex: Streaming 4K to 2 devices simultaneously
- Time Machine: Backing up 3 Macs automatically
- Photo backup: 2 TB of RAW files, organized and searchable
- Security cameras: 24/7 recording, 30 days retention
- Document storage: Replaced Dropbox (saving $120/year)
Cost: $400 upfront, $19/year electricity, $132/year cloud backup.
Compared to Synology: Same performance, more storage, half the price.
Rating: 5/5
Recommended? If you’re tech-savvy and want the best bang-for-buck NAS, build one.
Next Steps: Expanding the NAS
Now that the NAS is stable, I’m planning:
- Add 2 more drives (expand to 6× 4TB, 20 TB → 30 TB usable)
- Upgrade to 2.5 GbE (PCIe network card for faster transfers)
- Set up automated scrubs (monthly data integrity checks)
- Install Nextcloud (self-hosted Dropbox alternative)
The rabbit hole continues.
Build time: 2 hours total (physical assembly + TrueNAS setup) Last updated: June 30, 2025