A Short Guide to be expanded on for how to get into Self-Hosting and Home Labbing your own servers.
Find a file
2026-02-27 19:34:12 -06:00
home-labbing-cycle.png Added images Referenced in Original 2026-02-27 19:34:12 -06:00
README.md Added images Referenced in Original 2026-02-27 19:34:12 -06:00
research-example.png Added images Referenced in Original 2026-02-27 19:34:12 -06:00

What is Home Labbing & Self Hosting

Home Labbing is the art of taking a PC and learning to have it provide network wide or beyond services, whether that be for fun or for personal needs.

Self Hosting is the process of installing a software to be accessed network wide or beyond, and maintaining said services to keep them up to date.


The Home Labbing Problem Solving Structure

To comprehend home labbing, it's worth looking at it as a hobby to start. While the hardware is important for optimal design, outside of focusing on reliability and computing resources, there isn't anything too special with choosing hardware that even matters with professional or higher-end setups. When you get good enough at it, and if you feel it's enough of your niche, it may turn into an occupation, in which it's better to start looking at it, but to get into it, it being a hobby is the route to go. Don't take it too seriously, but learn how to do so, grow it into a passion project, etc. Once you get to that point, then the learning process will skyrocket (at least from my experience).

The Cruxes of Home Labbing

The Essential Components:

Operating System

  • Debian
  • Ubuntu
  • Rocky Linux

Containerization Tool

  • Docker
  • Podman
  • Kubernetes

Services

  • Drive Solutions
  • CMS Platform
  • Other tools & services

Means to Connect

  • VPN
  • Proxy Manager + Domain Name
  • Clients

In order to capitalize on Home Labbing & Self Hosting, you will need the above 4 puzzle pieces. There are TONS of solutions one can use in each of these, and some you may want multiple of. Some have strengths that others have weaknesses, but over all they each have means for you to achieve a self-hosted home-lab. Part of the issue with guides for how to create home-labs, however, is part of the fun and process is the research itself. The researching what solutions to use, what the strengths and weaknesses are, etc.

So, for this guide, my focus is to show the process of deciding and designing a home lab. ==This should also help with you in particular, as you already have a good chunk of the information needed to create a home-lab.== We'll be assuming this is a, "Fresh Playthrough," of building a home lab, and focus less on the actual software, and more on the design and implementation process. So to start that, let's look at...

The Operating System

This part will be pretty straight forward. The best operating system to use for your home-lab is an open, light, and long time serviced operating system designed for servers. The next best is one you're familiar with. Normally it won't matter what operating system you choose, so long as you know what you're getting yourself into. For that, here's the main types of home-lab operating systems, what they do & don't do, and some examples of them:

The Standard OS

This is going to be your standard operating system experience. This will have your desktop environment, your windows and browser tabs, etc. This option is great as a starting option as it will be what most people are familiar with.

Examples:

  • Ubuntu - A decent introduction to Linux, built to work on legacy hardware and with Long Term Service as it's update design
  • Rocky Linux - An enterprise designed option that has options built into the installer to be optimized for Server Production
  • Debian - A light-by-design Operating System, requiring more setup effort, but designed to have installed what it needs by the user, not the developers

The Addon

This is just the previous option but with something installed to turn it into a server setup. These work more like installing an application than an operating system itself, which may make more sense to start with for some.

Examples:

  • CasaOS & Zima OS - This creates a touch-screen-centric web interface that makes installing services as easy as a press of a button... Mostly
  • Docker Desktop - The desktop client for Docker, and one that is simple, straightforward, and designed for self-hosting in particular
  • Yuno Host - Another option to install into a Linux Distribution, with a focus on simplicity, both in design and implementation

The Hypervisor

This is a specially designed Operating system, one that generally will have absolutely NO desktop GUI. Often best for those that have dipped their toes already, these OSes provide a number of benefits, from lightness to bonus tools.

Examples:

  • Proxmox - A hypervisor with a focus on Virtual Machines, this OS has less of a user designed GUI in place of utility on top of utility ON TOP of utility
  • Unraid - The Operating system that some would argue started it all, this OS was designed with user experience at the forefront
  • TrueNAS Scale - One of the more commonly used Operating Systems, this is a good balance of utility and user experience, while still having power behind it's capabilities

Whichever one you choose, be happy with it, as it'll be one of the bottom-most pieces to your home lab. This will determine less on what you can run, and more on what your experience will feel like. Each of the suggestions above are a great start for one to look into, but for now we'll move into...

The Containerizaiton Tools

These are going to be what allows us to install server-based software for the most part. There are some software that may perform better or have preferential design for running on bare metal, but for getting into Home Labbing, we'll start with the containerization methods. ==This I'll suggest for you to explore if you wish and skip this section, mainly because you have experience with Docker already, which is the current go-to, and the others really are just variants of the docker model, so you shouldn't have any issue understanding them.== To simply put it, here are the 3 predominant options for Containerizaiton:

Docker

This is the go-to, the OG, the GOAT when it comes to home-labbing. It's a tried & true, battle tested solution, and 90% of the solutions you see for self hosting things will be in the form of Docker.

Podman

The younger brother to Docker, this is a version of containerization that is designed to not care about root privileges. This is something one may consider as it does simplify some containerization solutions, but not much has it as it's solution design template. Thankfully, given it's similarity to Docker, one can often just use Docker solutions in Podman and it work fine.

Kubernetes

Docker if it wanted to look like it was on steroids but didn't have the plug to get them. Kubernetes has been described as, "an over-glorified kubernetes," but it's design is focused on the scalability of containerization. This is often something home-labbers look to learn rather than people wanting to learn home-labbing going to learn, so if it doesn't make sense, don't worry.

This is a relatively simple chapter, and probably the only time I'll give a direct suggestion: Docker. It's the go-to, it's simple to both use and understand, and you'll hardly ever find a solution hasn't been designed to use it in particular. Now, we'll look at...

The Services

This is the bread and butter of home-labbing, and realistically, may be the last step for what is necessary to learn home-labbing. This is where we actually get into implementing solutions that we wish to install. In order to do that, however, we need to know what we want to install. One of the best ways to get started is to look at what online services you currently use. Most people have a way to store their files, listen to their music, watch their videos, etc, an as such can be looked upon to find alternatives to in order to learn home-labbing. I like to use the following formula for researching what is available in these solutions:

{Service one uses on a regular basis} + Alternative + {Containerization Tool}

Example of the above formula in use

Simple, but effective at finding alternatives for what you use and even their install instructions. There are some lists of services upon services that one can look into that can work as a pseudo-search engine, and for some that may work better. Some of the ones I've found most useful are Selfh.st and Awesome Self-Hosted, both strictly focused on Self-Hosting, though one filters based on alternatives whereas one filters based on intent or need. Using these and the power of research, one can finally get into what we like to call, "Self-Hosting," and, "Home Labbing."

From here, the only thing left is...

The Means to Connect to your Server

Here is where the magic really feels legit. Having your services at home is great and all, but being able to access your drive while out and about? Now that's a pleasure. Generally there's a couple ways to get this going, and a third that rarely doesn't depend on the first two:

Virtual Private Network

This is the simpler of the 2, though for most solutions requires port forwarding. That being said, Tailscale is a solution that I've yet to see require any port forwarding, and thus is a very viable way to connect to your server.

Proxy Manager & Domain

This is by far the most expensive, but for generally 10-20 dollars a year, not too terribly expensive. This takes a domain (say, pseudoservices.com) and has it point to your public IP, then uses a Proxy Manager (say NGINX, Caddy, etc) to direct the incoming traffic to your solutions.

Client Software

These are inherently something that the software you use has to be compatible with, but on some occasions, clients are able to operate without needing a VPN or Domain to connect. In those situations, a client can be all you need, but if not it's just a matter of using the domain of your solution (that being the domain itself or ip address).


With that, and maybe some networking skills I don't have, you are all set to home lab your way into self-hosting! There are plenty of guides to teach you a specific way to install solutions, but be wary with those as you may fall into the trap of learning to follow instructions rather than creating your own solutions! If you have any questions, please feel free to reach out and ask, and I'll do my best to answer them!