Contents

First Server

Prior to this, I was only familiar with building gaming rigs. One day at work, I and a co-worker were talking about the convenience of NAS for storing bulk files and backup. I was intrigued and asked for more. He revealed that he has a small, quiet, and low power NAS that was quick and easy to setup. I was sold and off I went to my first real server.

As I was foreign to this idea, I virtually carbon-copied his setup. This table below lists the BoM and budget at the time.

Component Price
Lian-Li PC-Q25B $128.99
SilverStone Strider ST50F-P 500W $79.99
Intel Core i3-3220T 2.8GHz $127.99
ASRock Z77E-ITX LGA 1155 $149.99
2x Corsair Vengeance 8GB DDR3 1600 PC3 12800 $99.98
2x WD Red 3TB - WD30EFRX $158.89
Shipping $7.33
Discount -$49.99
Grand Total $544.28

It’s actually a decent power efficient system that only consumed around ~54W at idle and served me well for a couple of years. It was a good learning experience and taught me a lot of things that sets me up for my second server, which we will explore in another post.

Again, from my co-worker’s recommendation, I installed TrueNAS (at the time, FreeNAS 8.3.0). It’s an appliance OS based on FreeBSD with ZFS at its core. This is the OS that really made me dive deep into FreeBSD and ZFS. I setup all the usual services (SSH, Samba, NFS) before moving on to tinkering with all the other more interesting things like ZFS.

At the time, I didn’t really know what ZFS is for other than it allows me to do a RAID setup with my HDD’s. I’ve learned a lot since then and let me just say that I believe it is the best file system in the world bar none. It is a filesystem and a volume manager put together. It supports snapshots, checksums, compression, dedups, encryption, redundancy, and much more. I’m not going into too much detail as ZFS is basically a whole post of its own.

For this first server, I setup my 4x 3TB HDD’s in a RAIDZ1 configuration. It isn’t optimal, but I didn’t know any better. And honestly, all things considered, it worked fine for the length of time I used it.

FreeNAS also came with this Plugins feature that was kind of an early concept of containers. I played around with it a bit, but never got around to actually running any service in production capacity.

Now that I have this new toy, what good would it be if I couldn’t access it remotely? Hence, began my journey down the VPN rabbit hole. I became aware of OpenVPN and decided to set it up to enable secure remote access for my server. At this point, I’m pretty well-versed with networking, but OpenVPN routed setup still presented quite a challenge to setup.

I would’ve loved to detail the process and perhaps maybe even setup automated scripts to help others, but I have since moved on to WireGuard. Perhaps, someday I will end up needing it for whatever reason and I will detail the steps, but we will have to skip it for now.