Friends kept asking how I had set up my NAS, and the answer depended on what hardware they already owned. So I split this into tiers: cheapest path first (a Pi with an external drive), then more capable builds as the budget grows.
The honest part is the cost-versus-pain tradeoff at each tier. The Pi build works until you want hardware transcoding. OpenMediaVault gives you a UI but eats memory. The motherboard build is the one I would recommend if you have the space. Documenting where each tier stops being a good idea matters more than documenting the steps.
Stack: OpenMediaVault, Cloudflare Tunnel, Docker, Raspberry Pi / OrangePi / x86 Code: github.com/MorganKryze/MyHomeNAS