OS, Soft/Hardware for NAS, VPN Server, Media Centre, Website Server & SQL Server?

Hello folks,

TLDR: What’s the best operating system, software & hardware for a NAS, VPN Server, Media Centre, Website Server, SQL Server?

I am looking to do an overhaul of my home network/lab. I am fairly new to this space and I am trying to do research with the goal of determining the OS, software and hardware required for my home server.

I am looking to building a series servers that serves the following purposes:

  1. Network Attached Storage (NAS)
    1. Would you personally use a HDD or a SSD? I’ve personally had bad experiences with HDDs so I have always refrained from them. I thought I’d ask and consider other people’s experience with using them with a NAS.
    2. I’d like to build my own NAS as opposed to buying a pre-built NAS. I thought about using FreeNAS.
  2. Virtual Private Network Server
    1. I thought about using OpenVPN, so the hardware would need to be able to run OpenVPN.
  3. Media Centre
    1. Any media center would do, although I thought about of just using Plex. The media would be saved in the NAS.
  4. Website Server
    1. For my professional career, I have built my own website and I’d like to host it on a home server.
  5. SQL Server
    1. The expectation for this server is to read relational database files (likely from the NAS), extract, load and transform, and export multiple CSV files and save in the NAS. This is to be done four times a day.
    2. I thought about using a Raspberry Pi for this, as I don’t require luxurious speed nor storage for this device. The idea of this server is simply to execute the entire ELT script and save files in the NAS.
    3. What Operating system would you recommend for this? I have the ETL script written in Pandas and SQL.
    4. The input files should be less than 30MB in size, and the output CSV file would be even smaller.

I am hesitant on making a decision on hardware and software because I do not know the extent that one-simple computer could handle a given server mentioned above.

In terms of use, three people (other than myself) would be using the NAS & the Media Center occasionally. The NAS would be used once a month, and the Media Centre would be used a handful of times a week.

I would be using all five purposes extensively, especially the NAS and the VPN Server.

What would you suggest would be the best hardware and software to use? I thought about using a Raspberry Pi as they are cheap and accessible, and I can handle the set up process. Although I am not sure if one Raspberry Pi would do, would multiple be required given the type of use? How many would you use to set up this?

As well, I do not know the possible traffic my website may receive although I do not expect much as the website is only as a more personalized version LinkedIn/GitHub that will be sent out to company recruiters. 60 website visitors/month would be sufficient. I know the security implications of hosting a website, so I think I will port forward to a Rapsberry Pi in a DMZ of my router. The other servers will remain inside my local network.

I thought about is running a Type 1 Hypervisor, and run a few VMs for some sort of permutation of the servers mentioned above. For example, run a VM using FreeNAS for the NAS server, another VM running Ubuntu for OpenVPN and Plex, another VM running Windows Server for the SQL server etc.

______________

EDIT: I just found out that FreeVPN has a Media Center function. So scratch the Plex/Media Centre server requirement.

_______________

Could someone please share their thoughts on this? I am especially lost on how to be set up the SQL server as I’d like the server to run a ELT script every few hours. I have minor experience with SQL servers, most of my experience with SQL has been programming with the language.

I have no idea what this would cost, although I would like the VPN, NAS and Media Centre reasonably fast to the point it is not annoying to be used. Everything else do not need speed nor big processing power.

Any suggestions are highly appreciated. My apologies for the lengthy post.

Thank you!

NAS - any NAS application would work (TrueNAS, OMV, UnRAID, Starwinds SAN and NAS). If you are going to use SSDs and you would like to have the best performance, use either a hardware RAID or any other RAID mechanism which is not ZFS since ZFS is made for the synchronous workload (which is the HDD playfield). However, if you value data integrity more than performance, go with ZFS.

VPN - OPNsense with Wireguard or pure wireguard.

Webserver - deploy hypervisor and run all services (including above) as VMs

SQL - do you have any preferred database engine? Try CentOS + PostgreSQL/Windows + MS SQL. Run it in VM, connect the device directly from NAS via iSCSI or as a virtual drive on the hypervisor layer (make sure it is zeroed).

Starting this week, PCIe-5 is an available option. New SSDs are ready.

As fast as the technology is moving, I would not be happy with already obsolete hardware.

My take is buy once, then keep it.
Your list is ambitious. Lots of man hours.

Maybe a fire-sale price on a Dell PCIe-4 server will drop on your desk. Resale value? I wonder.

Get a 11gen 11700 non k system and you will have enough power. Maybe add a LSI SAS3008 9300-8I for the NAS virtual machine to passthrough the HDDs I added some SAS 12g SSDs as cache and 2 nvme drives in raid one as special device for zfs. Speed is no problem :wink: