Homelab

The Lab: Why a Home Server Is the Best Place to Learn Infrastructure for Free

May 22, 2025

homelab
proxmox
kubernetes
devops
self-hosting
learning
The Lab: Why a Home Server Is the Best Place to Learn Infrastructure for Free

The lab


I posted a simple list on LinkedIn: the services running in the lab—my home server. No pitch deck, no architecture diagram in the thread. Just names.

That list is more than software. It is a private datacenter where I break things safely, learn for free, and ship experiments that would cost real money in the cloud.

If you are a developer curious about DevOps, Kubernetes, networking, or automation, a home server is one of the highest-leverage investments you can make—not for mining or nostalgia, but for education you own.

What “the lab” is

The lab is a homelab: infrastructure I run at home on hardware I control. The hypervisor is Proxmox; everything else is VMs or containers on top. I can snapshot before a bad upgrade, clone a service to test a migration, and reboot the router without filing a support ticket.

It is the opposite of a disposable cloud trial that expires in 30 days. The lab stays up, accumulates scars, and teaches you how production actually feels—messy dependencies, DNS that lied, disks that filled at 2 a.m.

The stack (and what each piece teaches)

flowchart TB
  subgraph edge["Edge & access"]
    AG[AdGuard Home]
    NPM[Nginx Proxy Manager]
  end
  subgraph platform["Platform"]
    PX[Proxmox]
    P[Portainer]
    K3s[K3s]
  end
  subgraph cicd["CI / automation"]
    GL[GitLab]
    N8N[n8n]
  end
  subgraph data["Data"]
    PG[(PostgreSQL)]
    RD[(Redis)]
    IFX[(InfluxDB)]
  end
  subgraph observe["Observe & enjoy"]
    GF[Grafana]
    HA[Home Assistant]
    JF[Jellyfin]
  end
  subgraph ai["AI gateway"]
    LL[LiteLLM]
  end
  PX --> K3s
  PX --> GL
  AG --> NPM
  NPM --> K3s
  NPM --> GL
  K3s --> PG
  K3s --> RD
  GL --> K3s
  IFX --> GF
  LL --> PG
ServiceRole in the labWhat you learn by running it
ProxmoxHypervisor, VMs, backupsVirtualization, storage, snapshots, VLANs
AdGuard HomeDNS filtering on the LANDNS, DHCP integration, privacy, blocklists
Nginx Proxy ManagerReverse proxy + TLSHTTPS, host routing, certificates
PortainerDocker UI (where used)Containers without jumping straight to K8s
GitLabGit + CI/CDPipelines, runners, registries (ARM runner on a Pi included)
K3sLightweight KubernetesDeployments, services, ingress, Helm—without a managed control plane bill
n8nWorkflow automationIntegrations, webhooks, event-driven glue
LiteLLMLLM API gatewayRouting models, keys, quotas—AI infra on your terms
PostgreSQLRelational dataBackups, migrations, connection pooling in real apps
RedisCache / queuesEphemeral state, pub/sub, performance patterns
InfluxDB + GrafanaMetrics & dashboardsTime series, alerting, SRE instincts
Home AssistantSmart home hubMQTT, automations, local-first IoT
JellyfinMedia serverStorage, transcoding, LAN streaming—the “fun” workload that keeps you honest about bandwidth

None of this requires an enterprise license. Almost everything on the list is open source or free for personal use. You pay for power, hardware, and your time—not per-vCPU billing anxiety.

Benefits you do not get from tutorials alone

1. End-to-end ownership
In the cloud, networking, DNS, and certificates are often pre-chewed. At home, you connect AdGuard → NPM → the service. When it breaks, you learn the full path a packet takes.

2. Safe failure
Snapshot the VM. Break the cluster. Restore. No invoice, no account manager. That loop builds confidence faster than any certification slide deck.

3. Real constraints
Limited RAM teaches right-sizing. A single disk teaches backups. A residential uplink teaches why you cache and why edge matters.

4. Portfolio you can demo
“I run GitLab + K3s + observability at home” is a credible interview story—especially if you can explain trade-offs, not just name tools.

5. Freedom to experiment
Spin up LiteLLM, wire n8n to webhooks, test a GitLab pipeline on native ARM—projects that would be awkward or expensive as always-on cloud sandboxes.

Learning “for free” (what that actually means)

Free does not mean zero cost. You might spend on a used mini PC, a Raspberry Pi, or an old workstation. Ongoing cost is mostly electricity and time.

What you avoid:

  • Monthly fees for five managed services you only needed to study
  • Surprises when a forgotten load balancer runs all month
  • Vendor-specific abstractions that hide how things work

What you gain:

  • Skills that transfer to any employer’s stack
  • Reusable automation (Ansible, Terraform, GitOps) tested on your metal
  • Services you actually use daily—media, home automation, private CI—not just homework clusters

The lab is a tuition-free campus where the curriculum is whatever you need for work next quarter.

How to start without my exact list

You do not need fourteen services on day one. A sane progression:

  1. One machine + Proxmox (or bare Linux if you prefer simplicity)
  2. AdGuard or similar DNS control—immediate win for the whole household
  3. Nginx Proxy Manager—one HTTPS URL to one app; understand reverse proxies
  4. One workload you care about—GitLab or K3s or Jellyfin, not all at once
  5. Metrics when pain appears—InfluxDB + Grafana when “why is it slow?” becomes real

Add K3s when containers outgrow docker-compose. Add GitLab when you want pipelines. Add LiteLLM when you are tired of juggling API keys in every script.

My list is what my lab grew into—not a shopping list for week one.

Why K3s fits home labs

Lightweight Kubernetes distros like K3s matter because full Kubernetes on a NUC is homework; K3s is homework you can finish. You still learn Deployments, Services, Ingress, and upgrades—but without the control-plane overhead of a “real” cluster you cannot afford to leave running.

That is why stacks like mine show up more often in homelabs: the same concepts as production, fraction of the resources. (And yes—managed platforms exist if you outgrow DIY; the lab teaches you when you actually need them.)

The lab in one sentence

Proxmox underneath, sensible edge (DNS + proxy), then the services you would otherwise rent—CI, orchestration, data, observability, automation, media, and home control—on hardware you can reboot without a change advisory.

It is not minimal. It is deliberate: a playground where every line on the list is a skill I wanted and could learn without asking permission.

If you have been thinking about a home server, start small, snapshot often, and let the stack grow with your curiosity. The cloud will still be there when you need scale—but you will understand what you are scaling.

Published originally on LinkedIn.