
That five-year-old tower under the desk has more RAM and more cores than most cloud-instance tutorials assume you have. Wiping the old install and turning it into a homelab is the shortest path from “I know what Kubernetes is” to “I can debug a broken Ingress at 11pm.” College-timed learners get a free run at the tools professional teams pay to use. These are the seven desktop apps we used to convert an eight-year-old Optiplex into a proper DevOps sandbox in a weekend.
What to look for in a DevOps homelab stack
A learning homelab is different from a production stack. It should:
- Run on modest hardware: 8 to 32 GB RAM, single or dual disk, no GPU required.
- Fail safely: VMs and containers that snapshot in one click so you can break things and roll back.
- Cover the CI/CD story: git server, build runners, artifact storage.
- Cover the observability story: metrics, dashboards, log aggregation.
- Match what jobs use: the exact tools that appear in real job postings, not toy substitutes.
- Ship documentation that treats you like a beginner: because you are one, and that is the point.
The seven picks below meet at least five. Together they form a full learning stack you can install in a weekend and use for a semester.
Quick comparison
| App | Best for | Platforms | Free plan | Starting price/mo | Rating |
|---|---|---|---|---|---|
| Proxmox VE | Hypervisor and base OS | Bare-metal Linux | Yes | $110/yr for updates | 4.7 |
| Portainer | Docker UI | Web + agents | Yes | $0 self-hosted | 4.5 |
| K3s | Lightweight Kubernetes | Linux | Yes | Free | 4.6 |
| Terraform | Infrastructure as code | Win/Mac/Linux | Yes | Free CLI | 4.6 |
| Ansible | Config management | Linux/macOS | Yes | Free | 4.5 |
| Gitea | Self-hosted git + CI | Docker | Yes | Free | 4.5 |
| Grafana | Metrics dashboards | Docker + desktop | Yes | Free | 4.7 |
The apps
1. Proxmox VE, best hypervisor and base OS
Proxmox VE turns a bare-metal machine into a KVM hypervisor and LXC container host with a web UI. Install it as the OS on your old tower, and every subsequent tool on this list runs as a VM or container that snapshots, clones, and restores in one click. Backups to an external drive or NAS work out of the box. The community forum is unusually good at helping beginners.
Where it falls short: Runs on the metal, so you dedicate a machine. Wants a wired network more than Wi-Fi for cluster features. The web UI is dense on first load.
Pricing:
- Free: full features, community repository for updates
- Paid: Community subscription at $110/yr per socket for the enterprise repo
Platforms: Linux (Debian-based ISO)
Download: Proxmox VE ISO
Bottom line: Best pick as the base you install first and everything else runs on top of.
2. Portainer, best Docker UI
Portainer is the web UI most homelabbers reach for once they have more than five containers running. It manages Docker, Docker Swarm, and Kubernetes clusters from one interface, with a template library that deploys common services (Nextcloud, Vaultwarden, Grafana) in a few clicks. The Community Edition is free and unlocked for personal use.
Where it falls short: Enterprise features (RBAC, activity logs) sit in the paid tier. Kubernetes support is workable but not as polished as Lens or K9s. Update UI has occasional caching quirks.
Pricing:
- Free: Community Edition, single node, unlimited containers
- Paid: Business Edition at $995/yr for the first three nodes
Platforms: Web UI, Docker container, Kubernetes deployment
Download: Portainer install
Bottom line: Best pick when the Docker CLI stops being fun and you want a UI over your container fleet.
3. K3s, best lightweight Kubernetes
K3s is a full Kubernetes distribution packaged as a single 60 MB binary. It boots in under 60 seconds on a Raspberry Pi or an old Optiplex, includes a lightweight etcd replacement, and speaks the standard Kubernetes API. That means the exact kubectl, Helm, and Kustomize workflows a production team uses work identically here.
Where it falls short: Cluster upgrades take some care. Some enterprise features (audit logging, PSP replacements) require configuration that full k8s ships enabled. The single-node install is the easy path; multi-node needs a bit of network planning.
Pricing:
- Free: full distribution, all features
- Paid: none from Rancher/SUSE (the maintainers), though managed offerings exist
Platforms: Linux (works on x86_64 and ARM)
Download: K3s install script
Bottom line: Best pick for learning Kubernetes on hardware that will not sound like a jet engine.
4. Terraform, best infrastructure as code
Terraform is the tool most job postings mean when they say “infrastructure as code.” Even in a homelab, describing your Proxmox VMs, Docker containers, and DNS records in .tf files gives you a repeatable stack you can tear down and rebuild in minutes. The Proxmox and Docker providers are both mature.
Where it falls short: The state file lives somewhere; picking a local backend versus S3-compatible storage is a decision beginners have to make. HashiCorp’s license changed to BSL in 2023, which some users prefer to route around by using OpenTofu (a drop-in fork).
Pricing:
- Free: CLI, all providers
- Paid: Terraform Cloud starts at $0 for a single user, paid tiers above that
Platforms: Windows, macOS, Linux
Download: Terraform install
Bottom line: Best pick for the tool that most closely matches what you will use on a real job.
5. Ansible, best config management
Ansible handles the “install and configure this software on these hosts” job with YAML playbooks that read like documentation. It has no agent to install; connections happen over SSH. For a homelab, Ansible is the tool that turns “I set up Grafana once” into “I can rebuild Grafana on any new VM in 30 seconds.”
Where it falls short: YAML at scale gets ugly. Long playbooks are slow because each task ships over SSH. Error messages have improved but still take experience to decode.
Pricing:
- Free: full CLI and community modules
- Paid: Red Hat Ansible Automation Platform for enterprise pricing
Platforms: Linux, macOS (runs the controller); manages any SSH-reachable host
Download: Ansible install
Bottom line: Best pick for automating the setup of every VM and container in your homelab.
6. Gitea, best self-hosted git plus CI
Gitea is a self-hosted git service that runs in a 100 MB Docker container. Gitea Actions gives you a CI runner that speaks the GitHub Actions workflow syntax, so YAML files you write here work almost unchanged when you move to a job. Pull requests, code review, and container registries all live in the same instance.
Where it falls short: Not every GitHub Action works one-to-one in Gitea Actions. UI polish trails GitHub by a few years. Migration from GitHub keeps most things but a few edge cases (issue templates, project boards) need manual work.
Pricing:
- Free: full app, all features, unlimited repos
- Paid: Gitea Cloud starts at $19/user/mo if you skip self-hosting
Platforms: Docker, native binaries for Linux/macOS/Windows
Download: Gitea install
Bottom line: Best pick when you want a git server, a CI runner, and a container registry in one image.
7. Grafana, best metrics dashboards
Grafana paired with Prometheus is the observability stack most cloud-native jobs assume you can read. Prometheus scrapes metrics; Grafana turns them into dashboards. Both run as Docker containers, both are free, and the dashboards for common services (Proxmox, Portainer, K3s) already exist as JSON files you import in one click.
Where it falls short: Prometheus storage grows unless you tune retention. Log aggregation is a separate stack (Loki), which is another container to manage. Alert routing takes some experimenting.
Pricing:
- Free: OSS version, all core features
- Paid: Grafana Cloud starts free, paid tiers from $8/mo
Platforms: Docker, native binaries for Linux/macOS/Windows
Download: Grafana OSS
Bottom line: Best pick for the dashboards that turn a rack of containers into something you can actually monitor.
How to pick the right one
- If you are starting from a clean tower: Install Proxmox first. Everything else runs on top.
- If you want the fewest moving parts: Skip Kubernetes entirely for now. Docker plus Portainer is enough to learn the container model.
- If you already run Docker and want to level up: Add K3s on a second VM and start deploying with Helm.
- If you want to touch the same tools as your first-year job: Terraform and Ansible. Both appear in almost every DevOps job posting.
- If your homelab is one VM and you cannot afford to add more: Run Gitea, Grafana, and Portainer as containers on the same host. All three fit under 2 GB of RAM combined.
- If you tried a cloud sandbox and hit billing surprises: A homelab has no surprise bills.
FAQ
What is the best free hypervisor for a homelab?
Proxmox VE is the community favorite for good reason: it is free at the community-repo tier, has a full web UI, handles VMs and containers, and does snapshots and backups without extra tools. XCP-ng is the strong second pick.
Can I run Kubernetes on old hardware?
Yes with K3s. A 4-core, 8 GB RAM machine runs a single-node K3s cluster and half a dozen Helm-installed workloads without stress. Full upstream Kubernetes on the same hardware is possible but tight.
Do I need Terraform if I have Ansible?
They solve different problems. Terraform provisions infrastructure (VMs, networks, DNS). Ansible configures what runs on that infrastructure. Learning both is what real jobs expect. In a homelab, Terraform to spin up a Proxmox VM plus Ansible to install Grafana on it is the canonical pair.
What is the cheapest way to get started?
An old laptop with 8 GB of RAM and Proxmox VE booted from a USB. Total additional cost: zero. Add a second drive for backups whenever you have $40 to spare.
Which tools appear on real DevOps job postings?
Docker, Kubernetes, Terraform, Ansible, and Grafana appear in almost every listing. Adding Git-based CI (GitHub Actions, GitLab CI, or Gitea Actions in a homelab) rounds out the interview-ready stack.