Both boxes run the same OS stack (Debian-based NAS distro, Docker), so the only variables are the drive and the switch port.
Box A — 2011 laptop: Celeron B815 (2C/2T, 1.6 GHz), 4 GB DDR3, Realtek 100 Mbps, 256 GB SATA SSD + 320 GB 5400 rpm in the optical bay. Box B — 2011 mini PC: i5-2520M, 8 GB DDR3, gigabit, 128 GB SSD + 3 TB WD Red Plus.
Same library, same client:
- Immich first load: 24 s on the 5400 rpm 2.5-inch, 0.25 s after moving the DB + UI to the 256 GB SSD. ~95x, on identical hardware.
- SMB to Box A: 11.4 MB/s up, 11.3 MB/s down (85-91 Mbps — the link is saturated, the disk is not the limit).
- hdparm -t on the SATA SSD: 506 MB/s.
- WD Red Plus sequential write: 107 MB/s. 5400 rpm 2.5-inch buffered read: 88 MB/s.
- Box B idle 20 W, under sustained load ~40 W.
The takeaway that surprised me: the photo blobs are fine on spinning rust. What kills perceived speed is putting the Postgres DB and the thumbnail cache on a 5400 rpm drive — every page load turns into a scatter of small random reads. Move those two, leave the originals where they are.
The other half is the network. Once the SSD was in, the 100 Mbps port became the bottleneck for everything except thumbnail generation, which is pure CPU (about 91 thumbnails a minute, so a 12k library is roughly two hours of solid work).
I keep the full numbers, and the method used to get them, here: https://lowspechq.com/best/cheap-ssd-for-nas/ Source for the site builder if you want to check the claims against the code: https://github.com/lowspecai/lowspec-ai
Disclosure: I run lowspechq.com. That page carries one clearly labelled AliExpress affiliate link (an SSD listing) and nothing else; every number above was measured before any link existed.

cover. I wouldn’t pick TrueNAS unless you specifically want ZFS and its app model. Prebuilt: the DXP4800 Plus hardware is fine, but losing fan control, power management and hardware monitoring is exactly what people report losing when they replace a vendor OS — those bits usually live in the vendor’s own kernel modules or daemons. I haven’t run either of those two models, so I won’t vouch for them. Before buying, search “<model> + <target OS>” and look for a report from someone who actually did it; if you find nothing, assume it hasn’t been done. Backups: 3-2-1 — a local USB drive plus one copy offsite. A Hetzner Storage Box (1 TB is around €4/month) with restic or borg gives you encrypted offsite copies over SFTP, and both handle dedupe and retention. Whatever you pick: test a restore before you trust it. An untested backup isn’t a backup. Remote access: WireGuard on the FRITZ!Box is the right call and it sidesteps the dynamic IPv4 problem entirely — the box becomes the always-on endpoint. Just make sure you’re not exposing Nextcloud or Immich directly to the internet. Disclosure: I write a small site where I record measured numbers for running these services on low-spec boxes. The one on how far 4 GB actually gets you is here: https://lowspechq.com/best/best-self-hosted-ai-4gb-nas/ — if you’d rather not have a link in the answer, delete this last paragraph; everything above stands on its own.