Introduction

Let’s explore what powers this website, and look at some other tech I use.

Server

I have one server running my “homelab” - an old Intel-branded server with the following specs:

  • Intel Server Board S3420GPLC
    • Intel Xeon X3460 4C/8T (Lynnfield)
    • 24 GB of DDR3 Memory
    • 1x 750 GB WD Black 2.5" HDD (OS, apps)
    • 1x 4 TB Seagate Barracuda 2.5" SMR HDD (bulk storage)
    • FreeBSD

This server draws around 45W of power on average. I plan to replace it with a more efficient server in the future.

Motherboard and Processor

The motherboard and CPU were launched in 2009. This would be considered as “ancient” by many, but my server still runs just fine. Although sometimes I feel as if it’s being forced to run against its will!

The motherboard features 6x DDR3 memory slots (UDIMM/RDIMM, up to 1333 MHz), 6x SATA II (3 Gb/s) connectors, and a built-in BMC. The processor has 4 cores with SMT giving 8 threads. Unfortunately, the processor doesn’t support a few notable features, such as Unrestricted Guest (UG) and AES-NI (encryption acceleration). Not having Unrestricted Guest support means you can’t run a FreeBSD bhyve virtual machine with more than 1 vCPU, and the lack of AES-NI support means much slower encryption. This hurts, especially since the CPU isn’t very powerful by today’s standards in the first place.

Memory

3 of the 6 memory slots are populated with 8 GB DDR3 UDIMM 1333 MHz modules, giving a total of 24 GB. When I originally got the server, it had another 8 GB DIMM installed for a total of 32 GB of RAM. However, I soon discovered that the one DIMM had failed, causing memory errors, so I had to remove it.

Storage

The server originally had all 6 3.5" HDD bays populated with 500 GB Seagate Enterprise drives. After testing, I discovered that 3 drives had hundreds of bad sectors that kept growing day by day, so I removed them and was left with 3 healthy drives. I then removed one more drive to reduce power consumption, leaving 2 drives installed. These drives are very old, having around 90,000 power-on hours (~10 years!) but fortunately no bad sectors. After erasing each drive by issuing an ATA Secure Erase, and running long S.M.A.R.T tests, they survived and no bad sectors were reported.

Later, a 4 TB drive was added for bulk storage of personal documents and other data. I got it as part of another system, so I simply swapped it into my server. It can sometimes be excrutiatingly slow due to it being a Shingled Magnetic Recording (SMR) drive, but it gets the job done. I gave it the same ATA Secure Erase and S.M.A.R.T long test treatment as the other drives to make sure it’s at least somewhat healthy.

Recently, the 2x Seagate Enterprise drives were replaced with a single WD Black 2.5" drive in an effort to reduce power consumption. Each Seagate drive consumed around 7.5W while idle, while the new drive consumes less than 1.5W idle. This resulted in the total server power consumption dropping from 60W on idle to about 45W. A 30% reduction, not bad!

Operating System

My server runs FreeBSD. I have run other operating systems on it in the past (first Windows Server, then many Linux distributions), but I ultimately settled on FreeBSD after falling in love with Jails and ZFS. I plan to talk about FreeBSD in greater detail in the future.

Services

Most services run inside FreeBSD Jails. Let’s have a look:

  • Jails
    • UniFi Network Controller (for managing my Wi-Fi AP)
    • Plex Media Server
    • LibreSpeed (internal network speed test)
    • Minecraft Servers
    • Grafana (for metrics)
    • nginx Web Server (for this website)
    • HAProxy (reverse proxy)
    • Nextcloud (personal cloud)

Thanks to the amazing people who maintain FreeBSD’s ports and packages, most of this software is easily installed from the FreeBSD repositories using FreeBSD’s package manager pkg.

Network

I use a MikroTik RB3011UiAS-RM as my router. MikroTik’s RouterOS is extremely powerful and blows most consumer routers away in flexibility.

A Ubiquiti UniFi UAP-AC-PRO Gen. 2 provides my Wi-Fi network access. It’s Wi-Fi speed tops out at about 70 MB/s (~600 Mbps) transfer speed across most devices for me (tested to internal LibreSpeed server).

Internally, my network is wired using CAT 6 ethernet and runs at Gigabit speeds. My internet connection is FTTH, running at 100 Mbps.

Computers

I use 2 machines - a custom-built desktop PC, and a laptop.

Desktop PC

I built this PC back in 2015. It features the following specs:

  • Intel Core i7-6700K @4.4 GHz
  • 16 GB DDR4 @3000 MHz
  • AMD Radeon R9 390X 8 GB

Arch Linux is my OS of choice, with the GNOME desktop environment. It absolutely flies on this machine. I am grateful to the community for developing such awesome software.

Laptop

I use an Apple MacBook Pro (13-inch, 2019) as my laptop. It is my first Apple computer and it is an absolute joy to use.

  • Intel Core i5-8279U
  • 8 GB LPDDR3 @ 2133 MHz

I never understood the whole “Mac” thing until I got one. And now I do. I love the combination of the powerful customizable desktop experience you get with a PC running Linux, and the smoothness and joy that comes with using a MacBook.

My first MacBook was a 2017 15-inch model, however, it has become unusable as a laptop due to a broken display ribbon cable which is almost impossible to replace without replacing the entire display assembly.

Website

Finally, let’s talk about this website itself. I chose Hugo, a static website generator to generate my website. I use the PaperMod theme.

I thought I would use a static website to keep things simple and lightweight. I didn’t want to deal with PHP and databases to run my website.

Conclusion

That pretty much wraps it up. I used to run Windows Server with Active Directory, Exchange, Hyper-V, etc… and thus gained some experience with those technologies, but I ultimately moved over to what I currently use.

I plan to dive into some of the stuff I use in greater detail, and detail how a lot of the services are set up in the future.