Replacing Netflix, Spotify, and Google Docs With An Elaborate Bag for Some DDR4 RAM

What possible use is decade old server hardware? Well, how about replacing Spotify, Netflix, Cloud Storage and Google Docs?

Welcome to Esk Computers, I’m Scott and today on the desk of Esk, let’s see how easy it is to get started with homelabbing.

We live in strange times, on so many levels, but for today’s video, specifically the pricing of computer hardware. I’ve ranted enough about the stratospheric levels of DDR5 pricing in the past so I won’t repeat that, but it’s also driven the second hand DDR4 market up quite a bit.

Unfortunate, as I’ve been looking to increase the RAM in my very slowing ongoing home server build from 32GB to 64GB, which leads to the weird situation where the cheapest second hand set of four 8GB ECC DDR4 sticks I could find on eBay last month was £65. Or, I could spend about £40 more and buy an entire rack mount server to harvest the RAM from, and well, I think it’s obvious what path I took.

It seems churlish to just pull the RAM out of it and immediately resell it without giving it a bit of a poke, so Iet’s give it a look over and see if there’s any reason at all for normal people like me to have a rack mount server. What? Yes, I am normal. Obviously.

This is a relatively compact 1u Supermicro joint, the catchily named CSE-512-350. It’s 44 cm wide, and 37 cm deep. It contains their equally catchily named X11SSH-LN4F motherboard, and already installed we have an Intel Xeon E3-1220 v6, and of course 32gb of ECC DDR4 RAM across the board’s four slots.

I suppose we should see if it turns on before messing with it.

I expected it to be louder to be honest, but it is really annoying.

It’s powered by a 350W Platinum PSU, and cooled by these two 4cm fans. The Riser card allows for a Full-height, one slot card to be squeezed into the PCIe 3.0 x16 slot, although the motherboard itself has another two PCIe 8x slots.

The motherboard’s Intel C236 chipset supports their E3-1200 v5 and v6 generation Xeons, and also the 6th and 7th generation Core i3 processors, so it’s not a powerhouse, but more on that later. It has a relatively slow M.2 Interface running on a PCIe 3.0 x2 bus, but has eight SATA3 ports that could be used for storage server applications.

Not in this chassis, though, which can only fit 2x 3.5″ fixed drives, or one hard drive and a slim DVD drive could be squeezed in. For testing, it’s temporarily getting this 512 GB Netac nmve and this 1TB hard drive from the X79 build featured on a previous video.

Round the back we have a VGA port, serial port, some usb 2 and 3 ports, and a bunch of network ports. For reasons we’ll get to in a moment, I’ve installed this trusty Quadro P1000, without the ridiculous water cooling this time.

Before we work out what we can do with this, we’ll have to examine the brains of the operation, the E3-1220 v6. It’s a four core, four thread, 2017 Kaby Lake era part, clocked at 3.00 GHz base frequency, with a 3.50 GHz turbo, and a TDP of 72W. For the time that’s reasonably efficient, although obviously today’s CPUs destroy it in both performance and efficiency. For Xeon standards, it’s launch price of $193 was almost reasonable. In both price and spec it was quite close to the i5-7400, if you want a consumer reference point.

A feature it’s annoying this particular chip lacks is an integrated GPU. Some other models in the 1200 range have this and would allow it to take on media transcoding duties without a GPU, hence the P1000 installation. I figured I’d need it to get any video signal out of the machine at all, but the motherboard has it’s own basic graphics chipset that drives the VGA port and is the default output for the bios screens and such. I think there’s a jumper setting to disable that but here instead is an ancient old TV that’s the last display I have with a VGA port.

Seeing as I live in a house, not a datacentre, lets get some slightly less obnoxious cooling on here. This low profile Metalfish DH670, that I’ve also nicked from the X79 build isn’t quote low profile enough, but it fits the socket. What I’ve failed to realise is that all the motherboards fan headers are 12 volts, which is more than this fan can handle. So enter this 5V sata powered fan hub, although without the PWM feedback it’s just going to run the fan at full pelt, giving us this:

So maybe only slightly quieter, but at least it’s very marginally less annoying.

The NVME SSD unusually didn’t show up in the BIOS until I’d reinstalled Windows 11 on it, I’m not exactly sure what that’s about. Windows won’t stay on here for long, I’m just most familiar with it for checking it’s behaving itself.

Installation goes entirely as usual, and Cinebench 2024 gives us 200 points in the multicore test, so not a speed demon but it’s by no means an obsolete chip. The CPU temperatures stayed at 40deg C or under, so the full pelt fan is more than a match for the four core behemoth.

For a sanity check 3dmark Fire Strike gives us 4849 which is much the same ballpark as we got out it the P1000 last time we were playing with it.

And just because it happened to still be on the hard disk, Forza Horizon 5 at 1080p Low settings gets 47 average fps, about half of what the P2200 got so that sounds about right.

So, I suppose we’ve confirmed that we have a functional but loud and inconveniently shaped Windows box, and could now use it for, well, any Windows desktop task that fits within the performance envelope. But that’s not much fun, so let’s look at some server type stuff, and treat this as a dry run for setting up my actual server.

While you can run servers on Windows – there’s a whole branch of the OS called Windows Server – let’s break free from Redmond and stick Proxmox on there. Proxmox is a Virtualisation Server, so to slightly oversimplify it’s an operating system you run other operating systems on.

The advantage of this for enterprises and also for us in the home is that you can run, say, your file servers, your database, and your backup server on one piece of hardware, with the resources divided amongst them. Each of them can have their own operating system and environment, so one going down wont take the other down with it. And if you’re a business, or just very serious about your homelab, you can then have clusters of these servers to failover to. So for example that means you could have a main and backup instance of three services mentioned earlier on six virtual machines on two boxes, rather than six separate ones. Quite the savings.

I don’t think it would normally be recommended on lower end hardware with only four threads, as that’s barely any resource to divide, but I’m just experimenting and learning how to use it before a proper deployment which feels very much in the spirit of homelabbing.

With Proxmox installed, by itself it’s not doing much. You can, I suppose, install services and applications directly to it, but that’s sort of against the point of the thing. So let’s set up a virtual machine and some containers. Containers share the same kernel as Proxmox, so have a lower overhead for less intensive services, while also staying segregated enough to avoid crashing the entire system if it goes wrong. Essentially, a container virtualises an application, whereas a VM virtualises, well, a machine. Hence the name.

Now, I’m not intending to present myself as an expert here. This is my first time using this, or anything like this, and most of what I’ve done is run the excellent archive of community scripts at, er, community-scripts.org that do all the downloading and configuration for you. What I’m getting at is that if a muppet like me can do this, there’s not really a barrier to entry at all.

Let’s see what that looks like. For example if this was a permanent thing I’d for sure be installing a PiHole container to handle my home network’s ad and tracking blocking. I’m not going to decommission my currently working one for this experiment, but we can load it up in a container and see what resources it’s consuming. There’s not much to say about this, it installs almost without intervention, and it takes up barely any resources at all.

We’ll also need a network attached storage solution to match what my current little NUC with an external hard drive attached running Lubuntu provides. We’re moving up from a simple Samba shared folder to a TrueNAS VM, which is important because I ultimately intend on using that storage for a bunch of the shared solutions we’ll be trialing next.

The only thing I had to do after the community script handled creating the VM, downloading and installing the software, was to feed half of the 1TB drive through to it as a virtual disk, sort of, that’s maybe not the right terminology but you know what I mean.

For sharing one drive that’s not being mirrored or otherwise backed up TrueNAS is a sledgehammer cracking a walnut, but again, just trying to get some experience under my belt.

With a storage pool and the appropriate shares set up, it’s accessible on the network and I can store and share whatever I want to it, and access it from any other computer on my network. So I could just load videos up from a file system, but there’s nicer solutions available.

So, let’s use that drive space for Jellyfin. If you’ve heard of Plex, this is a open source replacement, and it can live inside a lightweight container. In short, you point it at a pool of media, and it can stream it back out to nigh on everything. The bulk of my media is 1080p at most, and in formats that don’t need transcoding, so it’s not using much resource to do that, such as with streaming this 1080p version of A View To A Kill to my phone, and it’s still in the single digits of CPU usage with this 4K version of Thor: Ragnarok.

Where I came a bit of a cropper was in getting this container to recognise the graphics card. That’s important because if you do need to, say, stream a transcoded 720p version, it’s spiking the PCU usage up to 100% of the two cores I’ve given it access to.

I struggled with this for a few hours and while I managed to get it recognising the Quadro eventually, now its not streaming anything. Whoops. Will need a bit more work, and it’s probably quicker to restart from scratch which this setup makes very easy, but I ran out of time to fiddle with it for this video. So, maybe not quite every muppet can do this, immediately at least, but we learn by our failures.

Let’s try to fail at something else. A similar solution to Proxmox Containers is Docker, and it’s quite widely supported. This means it’s a lot easier to get a range of services up and running, although maybe at the cost of a bit of resiliency. If something misbehaves badly enough in a Docker container to take it down, there’s maybe a risk of taking everything else in that Docker instance down with it. But, again, let’s install it and kick it’s tyres. It can be run inside a container, but the internet says it’s recommended to stick it in its’s own VM, as this script does, running on top of a Debian install, so let’s do that.

We can then install an HTML GUI like Portainer to manage all this, and at this point it’s practically an app store for home networking.

I’ve installed the docker container of Immich, which in large part is a self hosted version of Google or Apple photos. We can set it up to use the TrueNAS share we set up earlier. Then we just install the Immich app on your phone, give it access to your library, and it can upload any photo you take and back them up, and then we can see them from any device on your internal network through a web gallery. Getting access from the outside is a trick beyond the scope of this video, but I’ll need to look into.

Somewhat duplicating that is Nextcloud, which aims to be a selfhosted replacement for cloud storage, which can also include photos of course, but I’m more interested in setting it up as a Google Docs replacement. It has integration with LibreOffice for document handling, and if you so desire you can go full on with a Teams or Zoom alternative, and shared calendar and contact apps. I really just want it for storing plain text notes, so it’s another sledgehammer solution, but it’s a useful suite of tools for the admittedly more boring computing tasks.

I documented my struggles setting up a private internet radio station in a previous video, but I could simply have installed the AzuraCast docker. The script sets up smoothly enough. It’s mostly preconfigured, and I just need to upload some music to it and off it goes. If you prefer to pick and choose what you’re listening to, the obvious solution is to use Jellyfin as it’s already installed. But if you prefer something a bit more Spotify like or just only need to stream audio then Navidrome has you covered.

So here’s an old, comparitively low powered machine running network level ad-blocking, a file server, a media server, a photo backup service, local document sharing and an internet radio station, and it’s not really breaking a sweat most of the time.

And there’s plenty of other applications this machine could take on, for example if you have security cameras this could act as a recording bank for them rather than a subscription cloud service, it could act as a PC or Mac backup server, or as this machine has four network ports it could replace a router or otherwise be used to learn networking protocols.

I do not feel the need to talk to my lightbulbs, but if you do live the Smart Home lifestyle the Home Assistant Hub can apparently take care of that for you. Best practice, I’m told, is to install that in it’s own VM for better compatibility with USB dongles and so on.

And, of course, there’s nothing stopping you spinning up a full desktop VM running Linux or Windows, which might make sense if it lets you control a more powerful machine from a Chromebook on the couch or something like that, but I don’t think I have need of that.

So, what was the point of all this? Well, I’m not going to pretend it wasn’t just a way for me eke a video out of what is essentially the highly elaborate bag the RAM I bought came in. But it let me familiarise myself with this stuff before going at it for real, and hopefully shows that you can do some pretty useful things with low powered hardware that could save you a lot on subscriptions.

How much are you paying for the likes of cloud storage and music streaming subscriptions? Could perhaps something like this replace those? It could pay for itself in a month or two. And, of course, not necessarily this format. This might look like a high tech pizza box but for what home use requires, it’s not all that much different internally from the office surplus Dell desktops and laptops of ten years ago that will cost a bit less than this, probably, and can serve the same server functions without making your spare room look like an IT closet. Sure, this has a lot of useful remote access functionality and headless operation capabilities as so on built in at the hardware level, but nothing 100% needed for the home.

Hopefully I’ve given you some ideas for taking control of your information out of the cloud and back into your hands. After all, “the cloud” just means someone else’s computer. I expect I’ll revisit this topic when finally setting up the dual Xeon server, but in the meanwhile, if you have any questions or want further details please leave a comment down below, and if you enjoyed this videotronic missive then consider subscribing. Until next time, take care of yourself, and each other.