How to turn an old PC into a NAS

If you have an old PC lying around, you may be wondering what to do with it. You could turn it into a stream PC, you could give it to a family or friend… or you could turn it into a NAS. NAS stands for Network Attached Storage, but it’s a little bit of a misnomer for devices like these. It’s not just storage, and can actually do a whole lot more as well. I took my old gaming PC and turned it into a NAS, and it was surprisingly easy to do. Even better is that you can do it, too.

Why use an older PC instead of buying a dedicated NAS?

To be honest, there are a few reasons that you may want to use an older PC, but the biggest is simply just the act of recycling. If you have a perfectly good PC lying around not doing anything, why would you go out and buy a NAS instead of just putting your old computer to work? Especially because older computers like those are probably going to be more powerful than most NAS devices that you would pick up, it’s really just a no-brainer.

Even better is that presumably, you’ll also be more familiar with the parts in your computer and what it is and isn’t capable of. For example, the Ryzen 7 3700x not having an integrated GPU meant that I know I need a GPU in the PC for media transcoding. If I simply purchased an off-the-shelf NAS with the assumption that it could stream HEVC-encoded 4k video, there’s a chance I would be sorely disappointed.

Then there’s the cost factor. If you have a PC lying about not doing anything, then chances are you won’t actually need to invest much at all. My entire PC was still intact with a Ryzen 7 3700x, 24GB of RAM, and a GTX 1070. For a NAS, you’ll want to pick up specialized NAS drives, but that’s all I needed to buy. Any of the best NAS hard drives will do, and I picked up a 4TB Seagate IronWolf Pro. You’ll realistically want to have multiples of these in a RAID configuration for data redundancy and speed purposes, but you can upgrade at any time. What operating system you choose will impact how easy it is to add storage at a later date. You’ll just need to have enough SATA connections on your motherboard and space for the drives inside your computer. If your PC has things like a DVD reader, you can even buy adapters from the 5.25-inch slots desktops typically use to get them to fit a 3.5-inch SATA drive.

It could be good to also pick up an SSD for booting from. This doesn’t have to be large, and in most cases, a 64GB SSD is more than enough. You can get a larger one and partition it if you’d like to use the secondary partition for caching, but you don’t need to and you’ll be completely fine without it. You may also want a larger SSD if you’re building a more enthusiast-level NAS and you want to use the boot drive for other purposes. Operating systems like TrueNAS will need a specified boot device.

seagate-ironwolf-pro
Seagate IronWolf Pro

Built for heavy workloads, Seagate’s IronWolf Pro lineup of hard drives offers high transfer speeds and has an enormous workload limit of 300TB/year and a high MTBF value of 2.5 million hours. The IronWolf Pro hard drives provide up to 22TB of storage, and you can fit a maximum of twenty four of these blazing-fast drives into your NAS enclosure.

Picking your operating system

MacBook Air with NAS

There are a few ways to go about building the software portion of a NAS once you have your hard drives, and they range from easy to enthusiast. One enthusiast way would be to install an off-the-shelf Linux distro like Debian, install something like Proxmox for virtual machine management, and then configure all of the software yourself. That could be a lot of fun if that’s something you want to get into, but it’s a large time investment for additional flexibility that most people probably don’t need.

Instead, I went with TrueNAS Scale. TrueNAS Scale is a Debian-based (so, Linux) OS that you can install on a NAS, and it manages your Docker containers using Kubernetes. Containers are how you run most programs on a NAS, where a container is essentially an isolated digital island for an application to run in. To allow it to connect to other containers on the machine and to share data, you build “bridges” between these islands by allowing them to directly connect to each other. Containers are naturally isolated, which is great for security and means that applications only share the data that you let them share.

For the setup and install process, you’ll need a graphics output from the computer you’re installing TrueNAS on and a keyboard hooked up to it as well. After that, so long as the drive TrueNAS is on and boots up automatically when you reboot the system, you won’t need to keep a monitor plugged into it. My NAS only has two cables going into it: an ethernet cable and a power cable. In my case, my Ryzen 7 3700x doesn’t have an integrated GPU, but the machine will still boot without the 1070 in it. In other words, if you have a spare PC that needs a dedicated GPU to work, you can just boot it up and set it up with the GPU and then take it out after.

Other operating systems that you may use include (but are not limited to):

  • TrueNAS Core
  • UnRAID
  • OpenMediaVault
  • Rockstor

Always research which operating system is best for you before deploying it.

TrueNAS Core

TrueNAS Core is technically more supported than TrueNAS Scale, and it’s based on FreeBSD. Most people would prefer Scale for running actual apps, so if you want your NAS to be more than just storage, you probably don’t want to go with Core unless you’re comfortable doing some advanced tinkering. Core is very stable with wider documentation and longer support, but Scale will typically be easier, especially if you already know your way around Linux. Core looks exactly the same as TrueNAS Scale in its UI.

UnRAID

unraid

UnRAID is an excellent option for a NAS that’s easy to use, but it’s a paid operating system that has some limitations like the number of drives in a system. The limit is 30, so it’s not an issue for most people, but the fact you’ll pay for this operating system is probably not something most people are interested in. UnRAID, like TrueNAS, has an app search built in so that you can build the likes of a media streaming service or even a Minecraft server.

OpenMediaVault

openmediavault

OpenMediaVault looks dated, but it’s very functional. You’re not locked into using the ZFS file system meaning that there’s a lot of flexibility in adding and changing drives around, and there’s also no real hardware requirements. OpenMediaVault can run on a Raspberry Pi if you want it to, and it’s a lot more straightforward and to the point in its UI. I find myself sometimes clicking around in TrueNAS to find options for things in a sea of menus, whereas OpenMediaVault is a lot more deliberate. It’s different software for different people, but it’s worth checking out too.

What to do with your NAS

truenas-scale-webgui

Once you’re all set up, you’ll be able to access your NAS from another device on the same network. How you access it exactly depends on the operating system you’ve chosen, but for TrueNAS Scale, there’s a web GUI as shown above. You can install applications and configure your entire NAS from here, and it’s the central point of everything that you’ll do.

On my NAS, I’ve set up a couple of services. The first is MineOS, a Minecraft server management platform. In this, you can host Minecraft servers on your NAS and have others connect to them. You’ll need to port forward the ports on your router to allow for the wider internet to see your server, but this is a great way to get instant utility out of it.

Another thing that I’ve done is create a great Google Photos alternative: Nextcloud. Nextcloud is a self-hosted cloud storage provider that you can access and automatically synchronize from multiple devices. I have all of my photos that I capture on my smartphone automatically back up to my Nextcloud instance, meaning I can then access those photos anywhere else really easily as well.

10.8-home-4a73a92bf90d1eeffa5081201ca9c7bb

Finally, I have Jellyfin set up too. Jellyfin is similar to Plex except that it’s free and completely open source, but you can self host your own media with it. For example, if you have a lot of ripped DVDs and TV shows (I do), then you can host these and stream them to your devices in your home. There are a ton of automations you can set up with Jellyfin and many different applications that you can install to work with it, so be sure to do some digging into this one if you’re interested.

With all of these, you need to be on the same network to access these services unless you port forward, and for security reasons, you probably shouldn’t just expose them to the wider internet. Instead, you can set up a reverse proxy or a VPN. I set up Wireguard using the wg-easy application on the TrueCharts TrueNAS catalog. From here, you can create profiles that can be imported in any Wireguard client, and then access services on your home network from anywhere. With this, I’m able to watch media on my Jellyfin server from anywhere, manage my NAS, and control anything else, too.

All of this works if you have a static IP address. If you don’t, then it may be worth looking into configuring a dynamic DNS. Otherwise, it may be difficult to access your NAS from outside your home network.

What you need to make a NAS work

To be honest, if you don’t need to do anything too computationally expensive, then you don’t need to use an old gaming PC to run your own NAS. Any old desktop PC will do, but the better the hardware the more capabilities you have.

For example, I can stream 4K video from mine with no issues and Jellyfin can transcode media to be lower resolution if I need, but if I just wanted a Nextcloud box and a way to store media without streaming or transcoding, then it wouldn’t need to be powerful at all. Plenty of people use old Raspberry Pis for media streaming without transcoding and with a hard drive attached for data storage.

What hardware you need depends on what you want to do, but no matter what, you can turn an old PC into a NAS: it’s just the capabilities of it after that will differ.