Homelab: What to Run | HackerNoon

Imagine having your own mini data center at home—one that adapts to whatever tech challenge you throw at it. Whether you’re a curious beginner or an experienced pro, a homelab opens doors to endless possibilities: learning, creating, testing, and even gaming, all on your terms. This article will show you what you can run on your homelab to unlock its full potential and supercharge your tech skills.
In our previous article we explored what a homelab is and how to get started.
Now, it’s time to dive into the exciting part – what you can actually run on it. A homelab opens the door to countless possibilities, and we’re about to explore some of the most popular and practical use cases.
Learning and education
Having a homelab with virtual machines (VMs) offers a unique opportunity for hands-on learning and experimentation. One of the primary skills you can develop is a deeper understanding of operating systems and how they interact with hardware. By setting up and managing multiple VMs, you can explore various operating systems, such as Windows, Linux distributions, and macOS, without affecting your primary computer. This setup allows for safe testing and learning from mistakes, which is invaluable for building confidence in your technical abilities.
Another significant area of learning is networking. With a homelab, you can design and implement different network topologies, experiment with various network configurations, and understand how devices communicate with each other. This practical experience can help solidify concepts like IP addressing, subnetting, and routing. Moreover, you can set up services like DNS, DHCP, and firewalls, which are crucial for managing a network.
Furthermore, a homelab can serve as a testing ground for automation and scripting. You can experiment with tools like Ansible, Puppet, or Chef to automate tasks, manage configurations, and deploy services. This experience can translate well to professional environments where automation is increasingly important.
Lastly, having a homelab encourages exploration and learning through trial and error. You can test new software, experiment with different configurations, and investigate security best practices. This self-directed learning approach helps develop problem-solving skills, critical thinking, and a deeper understanding of IT concepts.
Examples
DevOps practices – CI
Want to get hands-on with DevOps? Spin up two VMs — Gerrit for code review and Jenkins for automation—then add a few more as Jenkins worker nodes. In no time, you’ll have your own mini CI pipeline running in your homelab.
Kubernetes
Kubernetes has become a cornerstone of modern infrastructure, powering everything from small startups to global enterprises. With your homelab, you can go beyond theory and actually build your own multi-node Kubernetes cluster using virtual machines. You’ll get hands-on experience installing Kubernetes from the ground up, configuring it to suit your needs, and troubleshooting real-world issues as they arise.
This kind of self-contained environment is invaluable — whether you’re just taking your first steps into the Kubernetes ecosystem or preparing for a certification exam. A great place to start is the legendary Kubernetes the Hard Way tutorial by Kelsey Hightower, which walks you through every step of the process, giving you the deep, practical understanding that production-ready skills are built on.
Most of us have a growing pile of personal media – photos from epic trips and cozy gatherings, videos from birthdays and family celebrations, even backup copies of your favorite band’s old CDs. The problem? They’re scattered across drives, phones, and cloud accounts.
Your homelab can turn that chaos into a beautifully organized, always-available media hub. With tools like Plex or Jellyfin, you can set up a media server that stores, streams, and manages your entire collection. These platforms have apps for just about everything — computers, tablets, smartphones, and Smart TVs – so you can enjoy your library anywhere. Want your own private Spotify? Just point your server to your music collection. Want movie night? Stream your videos straight to the living room big screen.
For photos, go beyond basic folders and create a self-hosted photo cloud with Immich or PhotoPrism. They work much like Google Photos — automatic organization, face and subject recognition, easy sharing, and sleek galleries — but without size limits, subscription fees, or the need to hand over your memories to third parties. Whether you’re showing off your vacation pics at a café or archiving decades of family history, your homelab can be the heart of your personal media universe.
Testing and Development
One of the most valuable uses for a homelab is creating a safe, isolated sandbox where you can develop and test applications, scripts, or system configurations—without the risk of breaking a production environment.
In my own workflow, my daily driver is a Mac, and I occasionally switch to Windows. But the majority of the software I build runs on Linux. To bridge that gap, I run a dedicated Linux development VM on my homelab server. This VM is my universal workspace: I connect to it from Visual Studio Code, whether I’m on my MacBook or my Windows desktop, and I always land in the exact same environment.
This setup solves several problems at once—it keeps my development tools, dependencies, and configurations consistent across all devices, avoids the “it works on my machine” trap, and lets me experiment freely without cluttering or breaking my personal laptops. It’s a developer’s safety net and a productivity booster rolled into one.
Gaming
Your homelab doesn’t have to be all about servers, monitoring dashboards, and Kubernetes clusters — it can also be your personal cloud gaming rig. Yes, you can run a Windows virtual machine on a Linux server, pass through your discrete GPU, and play your favorite games remotely, or even locally, while the machine also running other tasks like your photo gallery website.
Why bother? For me, it’s all about flexibility. Sometimes I want to enjoy a game on the big TV in the living room. Other times, I’ll play in bed on a quiet evening. And when I’m traveling, I might fire up a quick session from a hotel room. What I don’t want is to lug a bulky gaming PC from place to place — or even shuffle it around my own house.
By hosting a Windows gaming VM in my homelab, I get the best of both worlds: the raw power of desktop hardware combined with the convenience of streaming it anywhere. It’s like having my own private, self-hosted version of NVIDIA GeForce Now — only with my games, my settings, and no subscription fees. And better latency when I’m home.
In an upcoming article, I’ll dive into the details of how to set this up, from GPU passthrough to network tuning, so you can build your own cloud gaming powerhouse.
Self hosted AI
AI is everywhere these days — from powering search engines to writing code and answering questions in tools like ChatGPT. Most people know about these big-name, commercial services, but far fewer realize that there’s a thriving ecosystem of open-source large language models (LLMs) you can run right in your homelab.
Projects like Gemma by Google, LLaMA by Meta, and DeepSeek put powerful AI capabilities into your hands — no subscription required. Sure, they won’t match the performance of commercial platforms running on massive GPU clusters, but that’s not always the point. Sometimes you just want to explore the technology, experiment with prompts, or integrate AI into a personal project without paying a monthly fee. And sometimes, you simply don’t want your personal or sensitive data leaving your own network.
Hosting an AI model in your homelab solves both problems. You get to learn, tinker, and build in a completely private environment — while gaining a deeper understanding of how these systems work under the hood.
In an upcoming article, I’ll walk through exactly how to set up and run your own self-hosted AI, from choosing a model to optimizing performance on everyday hardware.
Resource sharing
One of the most powerful advantages of virtualization and containerization is the ability to share and dynamically allocate resources. In a typical homelab, you’re rarely running every service at full capacity all at once — so why dedicate a separate physical machine to each task?
Let’s take a real-world example. Imagine you want to:
- Build and experiment with a 4-node Kubernetes cluster.
- Develop a website in an environment that closely matches your production hosting setup.
- Use a self-hosted AI assistant integrated into your IDE while coding.
- Play your favorite Windows game in the evening.
- Keep a PhotoPrism photo library online at all times so friends can access shared albums whenever they want.
Without virtualization, you might need six or seven different machines to handle all of that — several for Kubernetes, one for development, one for AI, one for gaming, one for media hosting, and so on. With virtualization, all of it can run on a single physical server.
Here’s how it works: when you’re focused on Kubernetes, your server allocates more CPU and memory to the cluster VMs. Later, when you switch to website development, those cluster nodes go mostly idle — still running, but barely sipping resources — while your dev VM and AI assistant VMs take priority. In the evening, the GPU that was handling AI inference can be reassigned to your gaming VM for maximum frame rates. Meanwhile, lightweight services like PhotoPrism continue running quietly in the background, always available but not consuming significant power.
The result? Instead of maintaining a rack of specialized machines, you have one well-configured homelab server running multiple operating systems and workloads, each getting the resources it needs — only when it needs them. It’s efficient, cost-effective, and incredibly flexible.
Real world example – my use cases
To demonstrate a real-world example I will share how I use it myself. I have 2 physical machines running Proxmox at home.
First one runs:
- A few Linux test enviroments my wife and myself use playing with various new software.
- PFsense VM (it’s a FreeBSD based router) where I test different networking scenarios.
- TrueNas — it’s more than just NAS, it’s a:
- NAS
- Backup server
- Docker server with:
- Plex and Jellyfin for my home video files
- HomeAssistant to make my Home a Smart Home.
- Several telegram bots
- NextCloud to access and manage documents within family
- LLM AI service
- PhotoPrism to serve my photo library
- PiHole to manage my DNS resolver
- Several personal projects – web sites and DBs The second server runs:
- A gaming Windows VM I play on
- Linux DevVM with all my projects
Conclusion
A homelab truly unlocks endless possibilities, transforming a single physical machine into a versatile playground where you can learn, create, experiment, and entertain — all on your own terms. Whether you’re diving into Kubernetes clusters, hosting your personal media library, developing software in a consistent environment, gaming with GPU passthrough, or exploring self-hosted AI, the only limit is your curiosity.
I encourage you to start building your own homelab, try out different use cases, and share what you discover along the way.
Stay tuned for upcoming articles where I’ll dive deeper into each of these topics, helping you make the most of your homelab journey!