my home lab - windowpa.in

You might see references to windowpa.in throughout this blog. What is windowpa.in, you might ask? Simple - it's my home lab. windowpa.in is just a domain I bought a while back, for long since forgotten purposes, which now serves as a handy domain for my home lab and experimentation purposes. Some of my home lab is publicly accessible, but the majority of it is not, protected by the vastness of... well, internal vs external subnetting. FUN. However, nearly all of it runs on open source software, and nearly all of it is publicly documented in the form of automation code, documentation and this very blog.

Why run a home lab?

For me, personally, running a home lab is something that I keep doing instinctively. It serves as an experimental place for me to learn about systems administration, play with distributed filesystems like MooseFS, store my media and do all the things I would normally do on a home network anyway.

The distinction between "home lab" and just "home network" is nebulous - but that's half the fun - for some people their home lab is just a NAS, or a Raspberry Pi - for others their lab is sprawling and runs all kinds of weird and wonderful stuff. My lab is a blend of these two extremes.

What are the specs?

Real-world (online and in service) specs:

  • 14 ARM64 cores, with 12GiB of RAM
  • 16 AMD64 cores, with 92GiB of RAM
  • 2.83TiB of NVMe storage
  • 113TiB of SATA storage
  • 100mbps in, 40mbps out

Theoretical specs (includes experimental hardware, things that aren't online yet, does not include Oracle Cloud):

  • 22 ARM64 cores, with 20GiB of RAM
  • 154 AMD64 cores, with ~512GiB of RAM
  • 8TiB of NVMe storage
  • 486TB of SATA storage

What does it do, though?

In terms of useful services? Right now, it does the following:

  • Proxmox for hosting various services
  • Mines Ethereum using HiveOS
  • Farms Chia using FlexFarmer
  • Provides DHCPv4 and DNS services to my home
  • Stores personal files and media using MooseFS Pro
  • Serves media using Plex Media Server and Jellyfin
  • Runs a StorJ Storage Node

That's the summary of it for now. If you're dying for more details, read this blog and feel free to email me questions.

Why is it publicly documented? Isn't that a security risk?

Yes, it can a security risk to publicly document aspects of your home lab. One example of where it can go wrong is with Jeff Geerling's lab (hi Jeff!), which suffered DDoS and spam attacks after his home IP address was inadvertently leaked. However, that wasn't enough to change his mind on whether having a home lab and publicly talking about it was a good idea.

I document my home lab for myself and my own learning - writing down and explaining what I'm doing is a great way to reinforce the learning I'm doing, record mistakes and observations that may help others along the same path or help me to more effectively report bugs or weaknesses in the software, platforms and tools I use. Doing so publicly, blogging about it and keeping as much of the home lab open source as possible means someone nasty could poke a bunch of holes in it, but it hopefully also means I'm able to share my particular flavour of home lab with the world and see if anyone can learn from it.

But when it comes down to it... any security flaws covered up by being secretive about my home lab would eventually be uncovered by a sufficiently skilled or determined attacker.

Maintaining a largely open source lab is a challenge, but inspires me to write Ansible playbooks, bash scripts, Kubernetes manifests, Helm charts, and all kinds of other fun stuff.

Where did the name come from?

There are two theories.

One has something to do with cryptography, and is a story you'll need to extract from me if you're dying to know. The other is that it came from lyrics from "Eminem - Love The Way You Lie ft. Rihanna".

Now you get to watch her leave out the window...
Guess that's why they call it window pane.
In case you haven't heard the song before, here's a handy embed.