How I Run My Entire Homelab on Docker (And Why You Should Too)


Summary

  • Docker containers are lightweight, self-contained virtual system for running services in minimal space & resources.
  • Docker simplifies setting up, managing, updating, and uninstalling a variety of services with ease.
  • I run over 30 services in my homelab, which fully operates on Docker, showing just how flexible it is and its ease of use.

When it comes to homelabbing, there are a lot of services and apps you might want to run. While installing them individually is an option, I chose to go the Docker route instead—and there’s no going back.

What Exactly Is Docker?

If you’ve never heard of Docker before, the easiest way to think about it is that it’s a bunch of ultra-small and lightweight virtual systems running within one environment.

Related


Docker for Beginners: Everything You Need to Know

Learn to use this incredibly popular development tool.

Docker’s “virtual systems” are called containers, and each one is only the bare essentials of whatever Linux distro is needed for the service itself to run.

Containers take up very little resources and space on your computer. This allows you to deploy a lot of services that are self-contained without hogging resources. It also means that, when you remove a service from Docker, it completely removes itself without leaving any traces behind.

All dependencies and everything are gone when it’s removed. A small volume might be left behind, but it’s very easy to prune unused volumes, too.

Related


What Does Docker Do, and When Should You Use It?

Docker is a tool for running your applications inside containers.

Docker, I Choose You

There are many options out there when it comes to containerized services. For the longest time, TrueNAS used jails (though it recently switched to Docker), there’s Kubernetes, virtual machines, LXC containers, and likely more. Docker is just one service of many. Why’d I choose it?

Docker is, in my opinion, simply the easiest containerization software to set up, and also among the most robust. There are over 10,000 Docker containers in the Docker Hub, and that’s just one place to source apps from. No matter what you’re wanting to run, chances are, there’s a Docker container for it.

Jails are more limited in their function and availability. Kubernetes, while based around Docker, and runs Docker containers, is just more complicated to set up for a homelab environment as it’s more geared toward enterprise use. Virtual machines are nice and all, but that’s just installing software bare metal into an operating system, and doesn’t accomplish what I want. LXC containers are very similar to Docker containers, but aren’t quite as simple to manage as Docker is.

White docker logo on a blue background with lines.
Docker

I originally started using Docker in 2021 when I spun up my first Unraid server. It was a requirement of mine even back then, as I was starting to really dive into the world of homelabbing. To this day, it’s a requirement of mine on any server I run. Whether it’s an Ubuntu virtual machine or a bare-metal NAS, it has to have Docker capabilities.

Docker is also just extremely easy to use and understand. While I’ve run web servers for many years, installing dependencies, configuring JSON files, and trying to debug services was never simple for me. Uninstalling things was even more complex half the time. Docker simplifies that.

I love how easy I can spin a service up in Docker, test it out, evaluate it, and decide whether I’m going to keep it.

Just the other day, I had Uptime-Kuma running on my main Docker host. I liked the service but wanted to run it on a machine that has a better uptime than my main Docker instance. So, I just spun another Uptime-Kuma container up on another Docker host I have and, within minutes, I was ready to go again.

I Run Over 30 Services, All On Docker

My entire homelab runs on Docker. I can only think of a single service that doesn’t run on Docker, and I’m actually thinking of moving it to a Docker container.

A container floating in the sea with the Docker logo inside it.
Lucas Gouveia/How-To Geek | klyaksun/Shutterstock

A quick list of just some of the services I run in my homelab:

  • AudioBookshelf
  • Calibre
  • Calibre-Web
  • Home Assistant
  • Immich
  • Nginx Proxy Manager
  • Plex
  • Scrypted
  • Pi-Hole

These are services that run on my primary Docker instance. I also have Docker running on my Raspberry Pi, which handles Uptime-Kuma and will soon run my backup Pi-Hole instance.

I do have two secondary virtual machines that run Docker. These VMs use Ubuntu 24.04 as a base, and Docker as the container host. The reason they’re two separate VMs from my primary Docker VM is because the services simply run better when separated on different machines. Those two VMs run my Pterodactyl game server and management panel.

Docker Makes Homelabbing Easy

Whether you’re wanting to get into homelabbing, or you’re already doing it, Docker is something that I truly think everyone should be using.

If you’ve not experienced the life of a containerized homelab, then you’re missing out. There’s so much Docker is capable of, including moving into the realm of high availability, something I plan to explore later this year.

A phone with the Plex logo and a laptop beside it with the Plex home screen.
Lucas Gouveia/How-To Geek | ZinetroN/Shutterstock

Having all of your services as self-contained containers simply makes them easier to manage. Whether it’s updating one service and not another, removing something you’re no longer using, or just spinning up multiple containers that all talk to each other but are segregated from your main OS, Docker is the tool for the job.

My homelab couldn’t run as it does without Docker. I think if you give it a try, you’ll see just how useful of a tool it is for your setup too.


Are you read to dive head-first into Docker containers? Here are 10 Docker containers I think everyone should run. This list will get you started with some of the core services that run my homelab through Docker, and they’re all pretty easy to spin up, too!



Source link

Previous articleStablecoin Transactions Surpass Visa—Experts Warn of 'Redemption Pressure' – Bitcoin.com News