Jump to content

First NAS/Home server build help.

Hi,

 

I've been thinking of building my own small NAS server for a while. At first I was thinking of just buying one of the Synology boxes but eventually decided against it since I want to build one myself and have more choice in what software I want it to run. That and I just wanted to learn more about the software rather than just buy a box and stick HDDs into it. Granted I have almost no knowledge in how to build a NAS (Did build a couple of gaming PCs though).  A few things about what I would like to build:

 

Use cases:

  • Backup storage for family photos, music.
  • Jellyfin/Plex for watching 1080p movies that I have collected over the years. Max 3 people using. So I figure my CPU mentioned below should be enough.
  • Local hosted cloud for documents for my family (Would be perfect if it could work over the Internet since some of my family is abroad. Heard that Nextcloud is good for that, could anyone confirm?)
  • Auto backup/archiving of photos from family phones. (Don't know if there's a self-hosted application for that, would be nice if there is. I think some of my family is cursed in that electronics breakdown just by being in close proximity to them for a while, so having automatic backup of everything important from their phones/laptops would be nice. That and won't have to look through dozens of USB drives that we have around)
  • Minecraft server maybe.
  • Also heard that there's a bunch of interesting self-hosted web applications that could be run, like contacts/bookmark synchronization apps, torrent apps, personal DNS servers, would be interested in messing about in those a bit too, just to see what kind of functionality could be added.
  • Maybe would implement local hosted VPN for a few people in my family, in case the location they're in has some restrictions in what could be accessed. Likely even if I implement it, wouldn't be used much though.

 

Hardware:

  • Would prefer it to be in a small case that wouldn't stand out in a living room (Something like Fractal Design Era ITX Midi Tower or Raijintek Case METIS PLUS) So I take it the MB would be a Mini-ITX.
  • Thinking of having 2 6TB HDDs in it that would be the main storage for everything, with 2nd HDD acting as a second backup. Not sure how this would be best implemented, RAID-1? or there is a better, simpler solution?
  • Figured that the NAS OS/VMs/Software would be on a separate M.2 SSD, is 500GB overkill for this or not?
  • For CPU/RAM I figured Core i5-10400F and 16GB RAM would be fine, no? No idea what MOBO to pick, granted I live in Latvia, MB choices are somewhat limited here.
  • Regarding power consumption, would prefer if there was a way to minimize power consumption whenever my server wouldn't be in use considering I would leave it running almost always for 24/7 (unless that's not recommended). I figured it could be at least somewhat reduced depending on how OS/software is implemented? Probably mostly depends on what kind of PSU I pick, and honestly I have no clue which one I should pick, my colleague used to help me with PSUs in my builds. Not sure by how much it could be reduced though, never had to worry about that when building a gaming pc. Fast Internet may be cheap in these parts of the world, electricity, not so much.

Software:

Here comes that part that I most have issues right now. Being that this is my first NAS build, I have no clue as to what software/OS to use to set this all up. I know everyone tends to recommend unRaid, but I'm against using any software for this build that is not free. I heard of Proxmox, OMV and TrueNAS while reading about them on different forums, but to be honest, I still have no clue what exactly they do, most info I found was already expecting some kind of knowledge about them before, and I don't have any. Hearing how people run OMV inside of a VM on Proxmox and running different apps in docker without really explaining why or how in different forums just confuses me. Most of my knowledge of virtualization comes from installing win95 and MacOS VMs on virtualbox on my PC. That doesn't mean I'm not willing to learn about this, just don't know where's the best source of info for complete newbies (in OS/virtualization in particular, I know how to code, it's just this OS/docker/VM stuff that confuses me still) like me.

 

So I guess to summarize, my main questions would be:

  • What software should I use to implement my use cases, and how to implement it (if there's a guide for something similar to my idea that already exists and I simply didn't find it, that would be great)
  • Is it possible to securely implement document/photo/bookmarks synchronization to this local cloud from phones/PCs outside of local network? Same with watching stuff with Jellyfin/Plex over the Internet.
  • If I decide to get a Minecraft server running, I figured the server doesn't require a GPU, right?
  • Also how quiet can I get this server to run? Since I'm planning on putting this thing in the living room quite close to the TV, I would prefer if it made as little noise as possible, at least when it's idling.

Also forgot to mention the budget, I'd figure its somewhere around 1kEur, hoping to actually be below that, but who knows with the prices we have here. Figured 2 6TB HDDs would be the most costly parts of this build.

Regarding parts availability over here: if anyone is interested in taking a look at what we mostly have access to over here, there's 2 sites I usually grab parts from: AIO and 1a.lv (sadly doesn't have english version, luckily they have pics for categories)

 

Thanks in advance.

Link to comment
Share on other sites

Link to post
Share on other sites

you already seem to have a pretty good idea of what you need and want.

 

As the OS i would recommend Unraid as it allows you to put the HDD´s to sleep assuming that you get an SSD as Cache so the HDD´s will only spin up when a file requested from them.

Regarding the CPU you will be completely fine with an i3 10100 your use case doesnt really need any more cores and i highly recommend to not get the F variant because you really want the integrated GPU so you can have hardware accelerated transcoding in plex if you ever happen to need it.

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, Pixel5 said:

As the OS i would recommend Unraid

I have mentioned in my post that I don't want to use Unraid as it's not free.

12 hours ago, Pixel5 said:

F variant because you really want the integrated GPU

Thanks, didn't know about these F and K designations, I was wondering why this CPU was cheaper than i3 10100.

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, superharek said:

I have mentioned in my post that I don't want to use Unraid as it's not free.

Thanks, didn't know about these F and K designations, I was wondering why this CPU was cheaper than i3 10100.

theres a free trial for unraid so you can give it a try and see how you like it, personally i also tried other OS´s before but unraid ultimately made the most sense for me.

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/4/2021 at 8:51 AM, superharek said:

Hardware:

  • Would prefer it to be in a small case that wouldn't stand out in a living room (Something like Fractal Design Era ITX Midi Tower or Raijintek Case METIS PLUS) So I take it the MB would be a Mini-ITX.
  • Thinking of having 2 6TB HDDs in it that would be the main storage for everything, with 2nd HDD acting as a second backup. Not sure how this would be best implemented, RAID-1? or there is a better, simpler solution?
  • Figured that the NAS OS/VMs/Software would be on a separate M.2 SSD, is 500GB overkill for this or not?
  • For CPU/RAM I figured Core i5-10400F and 16GB RAM would be fine, no? No idea what MOBO to pick, granted I live in Latvia, MB choices are somewhat limited here.

My NAS is built from parts scavenged out of my local transfer station, It's literally made from trash. This is an approach you could take if you'd like to, just mash together parts you have laying around and for something you are using at home it'll probably be fine. If you're looking for new parts though I'd say just tinker around in PCPartPicker with a small case of you're choosing and select appropriate parts to fit. As far as drive configuration goes I'm working with old slow drives that were scavenged so for me I needed something that increased reliability and speed, so I went for a raid 5. If you have money to just shell out going for 4 drives in raid 10 would be the best IMO, but if you don't have the money or don't need/want the speed benefit from striping you're raid 1 idea is fine. I use TrueNAS for my NAS and the drive you install the OS onto can't be used for storage of anything so if you're going with TrueNAS or something that operates in a similar manned I'd opt for a smaller SSD for your OS. I have little advice on CPU or memory as again mine is built out of spare stuff I had around so I was just stuck with what I had and didn't look into it at all.

 

On 5/4/2021 at 8:51 AM, superharek said:

Being that this is my first NAS build, I have no clue as to what software/OS to use to set this all up.

I used TrueNAS, it was pretty user friendly and it has a plethora of tutorials all over YouTube from many different people. I would recommend it for a beginner, as it was good for me when I was just beginning.

Link to comment
Share on other sites

Link to post
Share on other sites

Hardware side

1. Any modern intel cpu with quicksync should do for Plex, unless you’re really pushing the quality settings. 
2. The set of capabilities you’re looking for should be doable within 16GB of RAM, except maybe the Minecraft server. I don’t have experience with that.  I’m running Plex, Lidarr, Radarr, Sonarr, Transmission, qbittorrent, Nextcloud, a backup client, a factorio server, and an Unreal Tournament 99 server all on a box with only 16 GB of RAM, no problem. Use ECC if at all possible. 
3. For storage: RAID is not a backup. RAID is good for business continuity. That’s it. Make sure you have a backup strategy in place. I’m running a selection of 8 disks accumulated throughout the years in a ZFS pool. I have a separate odroid HC1 with a 2TB drive in it that’s offsite for backups. 3-2-2: at least 3 copies of important data, stored on at least 2 different types of media in at least 2 separate locations


Software side

If you’re willing to learn, I wholeheartedly recommend looking into plain old Linux as your operating system. Proxmox, TrueNAS, openmediavault... they’re nice, but at the end of the day, you won’t really learn what’s going on under the hood. 

 

If you end up going that route, this is the software stack I’d consider:

 

1. For drive pooling: use either btrfs or ZFS. Btrfs should only be used for RAID1 or RAID10. It’s not stable for RAID 5 or 6. Both options are a combination of a filesystem and a RAID system roles in one. They’re considered next-gen with features like snapshotting, checksumming, deduplication, compression all built into the filesystem itself. Especially checksumming is important to prevent bit rot.

2. To deploy your applications, skip VMs. Embrace containers. Way less resource intensive, with almost all of the separation advantages. There’s two major container orchestration tools: Docker Swarm and Kubernetes. For a beginner, I’d recommend looking into Docker Swarm. It’s easier to set up and uses less resources. If you do want to look into using Kubernetes, I’d suggest giving K3S a look, it’ll be one of the least resource-intensive options for Kubernetes. I’m personally running Docker Swarm on my own servers, and I use Kubernetes professionally. 

3. Nextcloud is amazing. I’ve been using it for years now. It’s my own personal cloud complete with calendar, contacts, mail client, password manager (though I’ve switched to Bitwarden), and so much more. The iOS and Android clients allow you to do photo backup straight to Nextcloud. It has user and quota management. It’s easy to maintain and has official docker containers on Docker Hub. Definitively what you’re looking for. 
4. For backing up your data, take a look at Borg. It supports snapshots (for point-in-time recovery), deduplication (so two snapshots of the same data won’t use twice the size of that data), checksumming (so you prevent data corruption), compression and encryption of your backups. It works over simple SSH and allows you to recover files by mounting the backup as a filesystem over the network. I’ve been using it for years. My server automatically does nightly backups. I periodically prune old snapshots. Borg allows you to specify really elaborate retention schemes. I keep daily snapshots for two weeks, then weekly snapshots for the first year, and monthly snapshots for two years. Haven’t lost a bit of a data since using Borg. 
5. for VPN: there’s a super easy-to-use OpenVPN container on Docker Hub. 

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/6/2021 at 7:25 PM, superharek said:

I have mentioned in my post that I don't want to use Unraid as it's not free.

Consider trying the free trial as @Pixel5 suggested. 

Yes it's not free, but for a handful of drives it's not expensive either at $60.

 

If you don't want to go this route, then i'd suggest Ubuntu / Debian, one of the easiest and most widely supported Flavors of linux. 

For installing your apps you can install Portainer, and use Docker Compose to dockerize them all, making it easy to manage and upgrade. 

 

My "media server" is running on Ubuntu 20.04 with Portainer 2.0, using Docker with Watchtower to automatically upgrade my docker containers via the docker compose yaml's. 

Kubernetes is pointless for a single physical server when you can run everything under the single OS. 

 

I use NextCloud for my own personal cloud, its just running in Docker. 

 

VPN i'd recommend WireGuard if you want that, its the best performance self hosted VPN solution. 

 

No your Minecraft server doesnt require dedicated GPU. But your server should still have iGPU for local configuration. Also going Intel you can leverage the Intel Quick Sync (QSV) for GPU transcoding in Jellyfin

 

Spoiler

Desktop: Ryzen9 5950X | ASUS ROG Crosshair VIII Hero (Wifi) | EVGA RTX 3080Ti FTW3 | 32GB (2x16GB) Corsair Dominator Platinum RGB Pro 3600Mhz | EKWB EK-AIO 360D-RGB | EKWB EK-Vardar RGB Fans | 1TB Samsung 980 Pro, 4TB Samsung 980 Pro | Corsair 5000D Airflow | Corsair HX850 Platinum PSU | Asus ROG 42" OLED PG42UQ + LG 32" 32GK850G Monitor | Roccat Vulcan TKL Pro Keyboard | Logitech G Pro X Superlight  | MicroLab Solo 7C Speakers | Audio-Technica ATH-M50xBT2 LE Headphones | TC-Helicon GoXLR | Audio-Technica AT2035 | LTT Desk Mat | XBOX-X Controller | Windows 11 Pro

 

Spoiler

Server: Fractal Design Define R6 | Ryzen 3950x | ASRock X570 Taichi | EVGA GTX1070 FTW | 64GB (4x16GB) Corsair Vengeance LPX 3000Mhz | Corsair RM850v2 PSU | Fractal S36 Triple AIO | 12 x 8TB HGST Ultrastar He10 (WD Whitelabel) | 500GB Aorus Gen4 NVMe | 2 x 2TB Samsung 970 Evo Plus NVMe | LSI 9211-8i HBA

 

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, MG2R said:

Can you expand on this?

I was just pointing out that Kubernetes (and Docker Swarm) is redundant to the OP's needs since he's running a single host and these are aimed at cluster / swarm deployments. Just Docker / Docker Compose (or LXC) is far more simple for a home deploy

Spoiler

Desktop: Ryzen9 5950X | ASUS ROG Crosshair VIII Hero (Wifi) | EVGA RTX 3080Ti FTW3 | 32GB (2x16GB) Corsair Dominator Platinum RGB Pro 3600Mhz | EKWB EK-AIO 360D-RGB | EKWB EK-Vardar RGB Fans | 1TB Samsung 980 Pro, 4TB Samsung 980 Pro | Corsair 5000D Airflow | Corsair HX850 Platinum PSU | Asus ROG 42" OLED PG42UQ + LG 32" 32GK850G Monitor | Roccat Vulcan TKL Pro Keyboard | Logitech G Pro X Superlight  | MicroLab Solo 7C Speakers | Audio-Technica ATH-M50xBT2 LE Headphones | TC-Helicon GoXLR | Audio-Technica AT2035 | LTT Desk Mat | XBOX-X Controller | Windows 11 Pro

 

Spoiler

Server: Fractal Design Define R6 | Ryzen 3950x | ASRock X570 Taichi | EVGA GTX1070 FTW | 64GB (4x16GB) Corsair Vengeance LPX 3000Mhz | Corsair RM850v2 PSU | Fractal S36 Triple AIO | 12 x 8TB HGST Ultrastar He10 (WD Whitelabel) | 500GB Aorus Gen4 NVMe | 2 x 2TB Samsung 970 Evo Plus NVMe | LSI 9211-8i HBA

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/8/2021 at 3:42 AM, MG2R said:

Use ECC if at all possible. 

I believe that it's not supported by regular Intel Core CPUs, so it wouldn't even work in my configuration? Plus I'm having issues finding any motherboard over here that supports it. So it's unlikely that I'll be able to get ECC RAM for this build. How important would it be to even have it anyway for a NAS/Cloud?

 

Also, after taking a further look, I might end up using unRaid after all, for some reason I thought it was a subscription based service and not one time purchase, and the OS itself looks good from the videos I've seen, so while I don't like actually using non-free software (not counting videogames), I might make an exception this time.

 

Also update on Hardware part I guess is that I've been advised to pick Western Digital Red IntelliPower 6TB SATAIII 256MB WD60EFAX as the HDDs for this build, are they a good pick? I know Seagate often has issues (experienced that personally multiple times), but I don't know much about these WD Red drives.

 

Anyone got a tip for picking the right power supply and fan for the CPU? I have decided to go with regular i5-10600 and I was wondering what should I look for in terms of cooling, if there is anything I should look for when trying to pick a quiet fan for this CPU and case?

 

I'm also going with Fractal Design Meshify 2 case, since it has a lot of HDD bays in case I decide to expand storage. So I was wondering how many fans would I need. Probably 2-3 including the CPU one? Since this case will be in the living room I'm hoping to find fans that run quietly when CPU isn't used a lot, do most fans these days work quietly when CPU is at idle or should I look for some specific ones?

 

And lastly with power supply, I'm currently picking parts that have no RGB for obvious reasons, 2 M.2s, 2HDDs for now but with chance for expansion, what sort of PSU I should look for? Is there a way to approximate what amount I might need if I decide to get more HDDs? I didn't pick my PSU on my previous builds so I'm not that knowledgeable with them.

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/9/2021 at 2:47 AM, Jarsky said:

I was just pointing out that Kubernetes (and Docker Swarm) is redundant to the OP's needs since he's running a single host and these are aimed at cluster / swarm deployments. Just Docker / Docker Compose (or LXC) is far more simple for a home deploy

I find Docker Swarm easier to manage than straight docker-compose. Even if it's single-host, the management surrounding configuration, secrets, and desired state is better implemented in Swarm and Kubernetes. Kubernetes comes with a relatively high overhead, but Docker Swarm really doesn't.

 

On 5/9/2021 at 9:51 AM, superharek said:

<snip>

If you're set on that specific CPU, indeed ECC won't be an option. EDIT: regarding to how important ECC is: if you like your data to be correct and last a long time, very. Random bit flips are a thing and without ECC, those will end up persisted in the data on your drives. In simple pictures or videos, you'll probably no notice that. In documents, it might make the difference between bank statement PDFs and illegible corrupted data. This is personal, though. Only you can decide what's important to you.  

 

Regarding the hard drives: in what configuration will you be running them? RAID1? Should be fine. Wouldn't go a lot bigger than that because read error rate becomes problematic for rebuilds at that capacity. Slap those bad boys in a btrfs RAID1 and you're off to the races.

 

Nvm, just read you're going Unraid. Protip: try out the other options first. That's the cool thing about FOSS: you can just slap the software on there and see if you like it. Unless this is time critical?

 

For cooling: try it out with the stock intel cooler, you probably won't have any issues, they're relatively quiet. If it turns out to be too loud, swapping something like a Noctua in there is trivial. Chances are the hard drives will be just as loud at CPU idle.

 

For the PSU: the data sheet for your drives mentions power draw of up to 8 watt. Take some headroom and say 10-15 watt peak per drive. CPU specs say 65W TDP. My usual rule of thumb is to Double CPU TDP, then add GPU TDP and hard drive powers to get your minimal PSU capacity. In your case that would be less than 200W. Suffice to say any PSU from a reputable brand should do you well. Given that silence is important to you, get a 450W seasonic fanless model. Super efficient, super quiet.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×