Journal

Building My Own Home Server

Do I Really Need a Server?

I've been running applications on cloud VPS instances for a while now, but I've never actually built and maintained my own physical server.

A conversation with our network guy at work got me thinking about putting something together at home. Nothing fancy. Just an inexpensive computer I could wipe, install Linux on, and experiment with.

My original budget was around $200. I wanted something capable enough to grow with me, but cheap enough that I wouldn't be devastated if I broke something.

I started looking at refurbished Dell and Lenovo business desktops, figuring that would be the cheapest route.

Then I started comparing processors.

Turns out an Intel i7 from 2017 isn't necessarily faster than a Ryzen 3 from 2021. The model number doesn't mean much without knowing the generation.

That sent me down a rabbit hole comparing used desktops against newer mini PCs.

The Hardware Rabbit Hole

I compared several machines using PassMark's CPU Mark scores. Not a perfect benchmark, but a useful starting point.

CPU comparison — PassMark CPU Mark Higher scores indicate better performance in this benchmark. Dell OptiPlex 7050, i5-6500T: 4,767. Dell OptiPlex 7060, i7-8700T: 10,211. Dell OptiPlex 7070, i5-9500: 9,841. Lenovo M910x, i7-7700: 8,640. Lenovo M75s, Ryzen 7 PRO 3700: 22,646. C4 SE, Ryzen 5 3500U: 6,761. BOSGAME E5, Ryzen 3 5300U: 9,181. BOSGAME E5 Plus, Ryzen 3 5400U: 10,707. BOSGAME P4, Ryzen 7 5700U: 15,354. BOSGAME E7, Core 3 100U: 12,258. Computer / processorCPU Mark 0 10,000 20,000 Dell OptiPlex 7050 i5-6500T 4,767 Dell OptiPlex 7060 i7-8700T 10,211 Dell OptiPlex 7070 i5-9500 9,841 Lenovo M910x i7-7700 8,640 Lenovo M75s Ryzen 7 PRO 3700 22,646 C4 SE Ryzen 5 3500U 6,761 BOSGAME E5 Ryzen 3 5300U 9,181 BOSGAME E5 Plus Ryzen 3 5400U 10,707 BOSGAME P4 Ryzen 7 5700U 15,354 BOSGAME E7 Core 3 100U 12,258
Scroll horizontally to see the full comparison.
Approximate published PassMark CPU Mark scores, not tests I performed. Higher is better.

Can I Actually Host Anything From Home?

Before spending money, I wanted to make sure Spectrum would even allow me to host something from my home network.

I already work with NGINX and reverse proxies, so that part wasn't particularly intimidating. What I hadn't done was configure my own residential router to accept outside connections.

I started a simple Python HTTP server on my Mac, configured port forwarding through the Spectrum app, and tested the connection from outside my network.

Initially, the results were all over the place. Some tests worked, others failed, and a badly formatted URL wasted more time than I'd like to admit.

Eventually, external HTTP tests started returning 200 OK.

It worked. No static IP, no special router, and no additional monthly fees.

The eventual plan is to use Cloudflare for DNS, automatically update my public IP when Spectrum changes it, and let NGINX route requests to whatever applications I'm hosting.

Well, There Goes $300

I originally wanted to spend around $200 on this thing.

I nearly bought the BOSGAME E5 Plus for $195. Then I realized adding another 8GB of RAM would cost roughly $44.

At that point, the $299 E7 started looking a little more reasonable.

I ended up purchasing the BOSGAME E7, with an Intel Core 3 100U, 16GB RAM, and a 512GB SSD.

It's more than I wanted to spend, but it gives me enough room to experiment with Linux, networking, personal cloud storage, media streaming, and eventually running smaller language models locally.

Now I just need the computer to arrive.

What's Next?

First up is installing Ubuntu Server from a USB drive and getting the machine configured.

I'll document the setup as I go, including the things that don't work the first time.