Proxmox VE

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:

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:

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:

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:

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:

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:

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:

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:

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

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.