Project

NAS for my media

2026-02-10T19:04:06.525858+00:00

From Raspberry Pi to NAS: Building My First Home Media Server

I've been tinkering with Raspberry Pis for years. I've built magic mirrors with them, used them for ethical white-hat hacking projects, run a Plex music server, set up Home Assistant, and generally learned a lot about Linux systems by poking around and breaking things. Pis are fantastic little devices, but they have their limits.

Specifically: they struggle with transcoding video, they're not great for storage-heavy tasks, and they need rebooting more often than I'd like. For music streaming via Plex Amp, my Pi worked okay. For anything more ambitious—like a proper media server with movies, TV shows, and smooth transcoding—it was time to upgrade.

Enter the NAS.

Why a NAS? (And Thanks, Warwick)

The idea was planted by my buddy and mentor Warwick, who's been running his own NAS setup for a while now. He encouraged me to snag the lifetime Plex Pass last year before the price jumped (best decision ever), and when I mentioned wanting to make full use of it, he suggested going the NAS route.

Thanks, boet. You were right.

I'd been curious about NAS setups anyway—network-attached storage that could handle media streaming, Docker containers, Home Assistant, and centralize all my scattered external hard drives in one place. My colleague Elena also gave me some great insights into her Ugreen setup, which helped me narrow down what to buy.

The goal: consolidate 3-4TB of data from several old external drives, set up a proper Plex server with hardware transcoding, and eventually get Home Assistant back up and running—all from a single, always-on device that doesn't choke when you ask it to stream a 4K movie.

The Hardware: Ugreen DXP2800 + Seagate IronWolf + Crucial P310

After doing some research (and getting recommendations from Elena), I landed on this setup:

  • Ugreen DXP2800 NAS (~$349) - 2-bay NAS with an Intel N100 processor (key for hardware transcoding), 8GB DDR5 RAM, 2.5GbE networking, and Docker support
  • Seagate IronWolf 4TB HDD (~$85-99) - 24/7 rated NAS drive for bulk media storage
  • Crucial P310 1TB NVMe SSD (~$70) - Goes in the M.2 slot for fast Docker container storage

Total cost: ~$500-520

The DXP2800 was the sweet spot for me—affordable, beginner-friendly (Ugreen's UGOS interface is surprisingly intuitive), and powerful enough to handle Plex transcoding with the Intel N100's Quick Sync capabilities. Plus, it has two drive bays, which means I can add a second HDD later for redundancy if I want.

The Setup: Docker, Volume Mounts, and Many "Aha!" Moments

I won't sugarcoat it: setting up a NAS for the first time involves a learning curve. Even with some Linux experience from tinkering with Raspberry Pis, there were plenty of head-scratching moments.

Here's what the process looked like:

1. Install the Drives

This part was easy. Pop the Crucial P310 into one of the M.2 slots, slide the IronWolf into Bay 1, power on, and let the NAS detect everything. UGOS (Ugreen's operating system) walked me through creating storage pools—one for the SSD, one for the HDD.

2. Create the Folder Structure

I set up a clean folder structure on the HDD for media:

  • /media/movies
  • /media/tv
  • /media/music
  • /media/pictures (added later)

And on the SSD for Docker containers:

  • /docker/plex
  • /docker/homeassistant

This separation makes sense: the HDD stores the big, static media files, and the SSD handles the fast, read-heavy Docker apps and databases.

3. Install Docker and Set Up Plex

This is where things got interesting.

UGOS has an App Center, but Plex wasn't in the built-in catalog. No problem—I installed Docker manually and pulled the official plexinc/pms-docker image from Docker Hub.

The tricky part? Volume mounts.

I needed to map the NAS's /media/movies folder (on the HDD) to the Docker container's /data/movies path so Plex could access the files. I also needed to map /docker/plex (on the SSD) to /config inside the container for Plex's database and settings.

This took a few tries to get right, especially figuring out the correct paths and ensuring the container had the right permissions to read the media files. But once it clicked, it made total sense.

4. Enable Hardware Transcoding

One of the main reasons I went with the DXP2800 is the Intel N100's hardware transcoding support. This means the NAS can transcode video on-the-fly using the GPU instead of crushing the CPU, which is essential for smooth Plex streaming—especially if you're serving multiple devices or transcoding 4K content.

To enable this, I had to:

  • Pass /dev/dri (the Intel GPU device) to the Plex Docker container
  • Check "Enable GPU performance" in UGOS
  • Set Plex's transcoding directory to /transcode (on the SSD for speed)

Once configured, the transcoding performance was night and day compared to the Raspberry Pi. The Pi would struggle with even basic transcoding. The NAS handles it effortlessly.

5. Transfer 3TB of Media

I plugged in my old external hard drives one by one and copied everything over via the NAS's front USB ports. Tens of thousands of songs. Hundreds of movies. It took a while, but the 10Gbps USB 3.2 ports made it relatively painless. When I hit a hiccup with that due to an old Mac AirPort Time Capsule, it was easy to drag and drop files into the UGOS GUI.

Plex scanned everything as it arrived, pulling down metadata, posters, and organizing the library automatically. Watching it all come together was deeply satisfying.

6. The LG TV WebOS Debacle

Here's a fun detour: I spent an embarrassing amount of time troubleshooting why certain movies wouldn't play on my LG TV's Plex app. They'd fail with an "unexpected playback error" message, and I was convinced I'd misconfigured something in the Docker setup—permissions, transcoding settings, volume mounts, you name it.

Turns out? My LG TV's WebOS app doesn't play .avi files.

That's it. Not a NAS issue, not a Plex issue—just LG's terrible media codec support. I confirmed the files played fine on my phone, my laptop, and every other device. Just not the TV.

Never going with LG again. Between this and their atrocious sound issues, I'm done.

Performance: Night and Day

The difference between the Raspberry Pi and the NAS is stark.

Raspberry Pi Plex:

  • Music streaming via Plex Amp worked okay
  • Video transcoding? Forget it
  • Library loading was slow
  • Needed occasional reboots

Ugreen NAS:

  • Handles 4K transcoding without breaking a sweat
  • Library loads instantly
  • Multiple simultaneous streams? No problem
  • Rock-solid stability

The Pi is great for music-only streaming or lightweight tasks, but for a proper media server with movies and TV shows, the NAS is the way to go.

What's Next?

I'm only scratching the surface of what this NAS can do.

Short-term plans:

  • Add a second 4TB HDD for RAID 1 mirroring (automatic backup of important data)
  • Set up Home Assistant again for smart home automation (I've been using Govee's widget for now, but I can't help myself—I need to tinker)
  • Explore more Docker containers (maybe Pi-hole for network-wide ad blocking?)

Long-term plans:

  • Expand storage capacity (I'm already eyeing larger drives because I'm a maniac)
  • Set up automated backups from the NAS to external drives
  • Maybe get a 4-bay NAS down the line and use the DXP2800 as a secondary backup server

The possibilities are endless, and I'm just beginning to explore them.

Lessons Learned

If you're considering building your first NAS, here's what I'd tell you:

1. Start Simple

Two drives (one SSD, one HDD) is plenty to start. You can always expand later.

2. Docker Is Worth Learning

Yes, it's confusing at first. Yes, you'll mess up volume mounts and permissions. But once you understand how containers work, you can run anything—Plex, Home Assistant, Pi-hole, you name it.

3. Hardware Transcoding Matters

If you're using Plex, get a NAS with hardware transcoding support. The Intel N100 in the DXP2800 is perfect for this and handles everything I've thrown at it.

4. Don't Overthink the Hardware

The Ugreen DXP2800 isn't the most powerful or feature-rich NAS out there, but for a first-time setup, it's fantastic. It's affordable, has good documentation, and the UGOS interface is surprisingly user-friendly.

5. Ask for Help

Shoutout to Warwick for pushing me to get Plex Pass and go the NAS route, and to Elena for sharing her Ugreen setup insights. The people who've already been through the learning curve can save you a ton of time.

6. Expect Frustrations (Like LG TVs)

Sometimes the problem isn't your setup—it's your hardware. If something isn't working, test it on multiple devices before assuming you broke something in the config.

Would I Recommend It?

Absolutely.

If you're running a Raspberry Pi Plex server and feeling the limitations, or if you have data scattered across multiple external drives and want to centralize everything, a NAS is worth the investment. The initial setup takes some time and patience, but once it's running, it's rock-solid and opens up a ton of possibilities.

For ~$500, I now have:

  • A centralized media server with hardware transcoding
  • 4TB of storage with room to expand
  • A platform for running Docker containers (Plex, Home Assistant, and whatever else I want to try)
  • A proper network-attached storage solution that doesn't choke when I ask it to do real work

The Raspberry Pi was a great learning tool, and I'll keep using Pis for other projects. But for media serving? The NAS is the clear winner.

The People Who Helped

None of this happens in a vacuum. A huge thanks to:

  • Warwick - for planting the NAS idea in my head and pushing me to get Plex Pass before the price hike.

  • Elena - for sharing insights into her Ugreen setup and giving me the confidence to go with the DXP2800.

  • The internet - for forums, documentation, and random blog posts from people who'd already fought these battles.

And, honestly, thanks to Claude & chatGPT for helping me troubleshoot Docker volume mounts and talking me off the ledge when I thought I'd broken everything.

Final Thoughts

Building a NAS isn't just about storage—it's about control. You own the hardware, you control the software, and you decide what runs on it. No cloud subscriptions, no third-party services shutting down, no vendor lock-in. Just you, your data, and a little Linux box doing exactly what you tell it to.

Is it more work than buying a Synology or QNAP with a polished GUI and one-click apps? Sure. But it's also more flexible, more educational, and more satisfying when you get it working.

If you're on the fence about building a NAS, I'd say go for it. Start small, expect a learning curve, and don't be afraid to ask for help. The payoff is worth it.

Now if you'll excuse me, I need to go order a bigger hard drive.


My Setup:

Total cost: ~$500-520


Built with patience, persistence, and a lot of Googling.