📋 Table of Contents
- Warum ein Heimlabor bauen?
- Hardware: Was Sie tatsächlich brauchen
- Schritt 1: Proxmox VE
- Schritt 2: Erstellen Sie Ihre ersten VMs
- Schritt 3: Installieren Sie Docker und Docker Compose
- Schritt 4: Kubernetes mit k3s
- Schritt 5: CI/CD einrichten (Gitea + Woodpecker)
- Schritt 6: Überwachung mit Prometheus + Grafana
- Schritt 7: Fügen Sie einen Reverse-Proxy (Traefik) hinzu
- Wesentliche Projekte zum Erstellen
- Häufig gestellte Fragen
- Warum ein Heimlabor bauen?
- Hardware: Was Sie tatsächlich brauchen
- Schritt 1: Proxmox VE
- installieren Schritt 2: Erstellen Sie Ihre ersten VMs
- Schritt 3: Installieren Sie Docker und Docker Compose
- Schritt 4: Kubernetes mit k3s
- bereitstellen Schritt 5: CI/CD einrichten (Gitea + Woodpecker)
- Schritt 6: Überwachung mit Prometheus + Grafana
- Schritt 7: Fügen Sie einen Reverse-Proxy (Traefik) hinzu
- Wesentliche Projekte zum Erstellen
- FAQ
Warum ein Heimlabor bauen?
Im Jahr 2026 ist DevOps eine der bestbezahlten Positionen im Technologiebereich – das Durchschnittsgehalt liegt in den USA zwischen 140.000 und 180.000 US-Dollar. Der Einstieg erfordert jedoch praktische Erfahrung mit Kubernetes, CI/CD, Infrastructure-as-Code und Überwachung. Die kostenlosen Cloud-Stufen sind begrenzt. Tutorials verschwinden, wenn Sie die Abrechnungsgrenzen erreichen.
Ein Heimlabor löst dieses Problem:Eine stets verfügbare Umgebung mit begrenzten Kosten, in der Sie Dinge frei aufteilen und schneller lernen als in jedem anderen Kurs.
Hardware: Was Sie tatsächlich brauchen
Sie benötigen keine teure Serverhardware. Hier sind drei Budgetstufen:
| Stufe | Hardware | Kosten | Am besten für |
|---|---|---|---|
| Anlasser | Ihr vorhandener PC/Laptop (Dual Boot oder VM) | $0 | Erlernen der Docker-Grundlagen |
| Mitte | Beelink SER5 (Ryzen 5 5560U, 32 GB RAM, 500 GB SSD) | ~250–300 $ | Vollständiger k3s-Cluster + CI/CD |
| Erweitert | Gebrauchter Dell PowerEdge R720 oder HP DL380 (128 GB RAM, mehrere Laufwerke) | 200–500 $ | Multi-Node-k8s, Ceph-Speicher |
Für die meisten Menschen empfohlen:Ein generalüberholter Mini-PC mit 32 GB RAM und einer 1 TB SSD NVMe. Der Beelink SER5 Pro oder der Intel NUC 12 Pro sind genau das Richtige. Fügen Sie einen günstigen TP-Link TL-SG108-Switch (20 $) hinzu, wenn Sie später eine Vernetzung mit mehreren Knoten wünschen.
Schritt 1: Proxmox VE
installieren Proxmox VE(Virtual Environment) ist ein kostenloser Open-Source-Hypervisor, mit dem Sie mehrere VMs und LXC-Container auf einem Computer ausführen können. Betrachten Sie es als Ihre persönliche VMware – aber kostenlos und Linux-basiert.
- Laden Sie die Proxmox-ISO vonherunter proxmox.com/downloads
- Flash auf ein USB-Laufwerk:
dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress - Booten Sie von USB und installieren Sie es auf Ihrer NVMe-SSD
- Greifen Sie unter
https://YOUR_IP:8006
# After install — disable subscription nag (optional)
sed -i.bak "s/NotFound/Active/" /etc/apt/sources.list.d/pve-enterprise.list || true
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" >> /etc/apt/sources.list.d/pve-no-subscription.list
apt-get update && apt-get dist-upgrade -y
Schritt 2: Erstellen Sie Ihre ersten VMs
Planen Sie Ihr VM-Layout, bevor Sie es erstellen. Hier ist eine solide Ausgangsarchitektur:
| VM-Name | OS | RAM | Zweck |
|---|---|---|---|
| k3s-master | Ubuntu 24.04 | 4 GB | Kubernetes-Steuerungsebene |
| k3s-worker-1 | Ubuntu 24.04 | 4 GB | Kubernetes-Workload-Knoten |
| k3s-worker-2 | Ubuntu 24.04 | 4 GB | Kubernetes-Workload-Knoten |
| Gitea | Ubuntu 24.04 | 2 GB | Git-Server + CI/CD |
| Überwachung | Ubuntu 24.04 | 2 GB | Prometheus + Grafana |
Erstellen Sie in Proxmox jede VM: Klicken Sie aufVM erstellen, wählen Sie Ihr ISO (Ubuntu 24.04), legen Sie die oben genannten Ressourcen fest und aktivieren Sie den QEMU-Agenten für eine bessere Verwaltung.
Schritt 3: Installieren Sie Docker und Docker Compose
Auf jeder Ubuntu-VM möchten Sie Container ausführen:
# Install Docker Engine (official method)
curl -fsSL https://get.docker.com | sh
# Add your user to docker group (avoid sudo)
usermod -aG docker $USER
newgrp docker
# Install Docker Compose v2 (built-in plugin)
apt-get install -y docker-compose-plugin
# Verify
docker --version # Docker version 27.x
docker compose version # Docker Compose version v2.x
Testen Sie mit einer echten Arbeitslast:
# docker-compose.yml — Nginx + Portainer (container management UI)
services:
portainer:
image: portainer/portainer-ce:latest
restart: always
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
nginx:
image: nginx:alpine
restart: always
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
volumes:
portainer_data:
docker compose up -d
# Access Portainer at http://YOUR_IP:9000
Schritt 4: Kubernetes mit k3s
bereitstellen k3sist eine zertifizierte, leichte Kubernetes-Distribution – alle echten Kubernetes-APIs in einer einzigen 70-MB-Binärdatei. Perfekt für Heimlabore.
# On k3s-master VM:
curl -sfL https://get.k3s.io | sh -
# Get the join token for worker nodes
cat /var/lib/rancher/k3s/server/node-token
# On each k3s-worker VM (replace with your master IP and token):
export K3S_MASTER_IP="192.168.1.100"
export K3S_TOKEN="your-token-here"
curl -sfL https://get.k3s.io | K3S_URL="https://${K3S_MASTER_IP}:6443" K3S_TOKEN="${K3S_TOKEN}" sh -
# On master — verify cluster
kubectl get nodes
# NAME STATUS ROLES AGE VERSION
# k3s-master Ready control-plane,master 1m v1.31.x
# k3s-worker-1 Ready <none> 45s v1.31.x
# k3s-worker-2 Ready <none> 30s v1.31.x
Stellen Sie Ihre erste App auf Kubernetes bereit:
# nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- port: 80
targetPort: 80
kubectl apply -f nginx-deployment.yaml
kubectl get pods -o wide # see pods spread across worker nodes
kubectl get svc nginx-service # get the external IP
Schritt 5: CI/CD einrichten (Gitea + Woodpecker)
Hosten Sie Ihr eigenes GitHub + GitHub Actions-Äquivalent mitselbst Gitea(Git-Server) undSpecht CI(Pipeline-Läufer).
# docker-compose.yml on the 'gitea' VM
services:
gitea:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
ports:
- "3000:3000" # Web UI
- "222:22" # SSH git
volumes:
- gitea_data:/data
woodpecker-server:
image: woodpeckerci/woodpecker-server:latest
restart: always
ports:
- "8080:8000"
environment:
- WOODPECKER_OPEN=true
- WOODPECKER_GITEA=true
- WOODPECKER_GITEA_URL=http://gitea:3000
- WOODPECKER_AGENT_SECRET=supersecret123
depends_on:
- gitea
woodpecker-agent:
image: woodpeckerci/woodpecker-agent:latest
restart: always
environment:
- WOODPECKER_SERVER=woodpecker-server:9000
- WOODPECKER_AGENT_SECRET=supersecret123
- WOODPECKER_BACKEND=docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- woodpecker-server
volumes:
gitea_data:
Erstellen Sie in einem beliebigen Gitea-Repository eine Pipeline-Datei, um automatisierte Builds auszulösen:
# .woodpecker.yml — in your app repo
steps:
test:
image: python:3.12-slim
commands:
- pip install -r requirements.txt
- python -m pytest tests/ -v
build:
image: docker
commands:
- docker build -t myapp:$CI_COMMIT_SHA .
when:
branch: main
deploy:
image: bitnami/kubectl:latest
commands:
- kubectl set image deployment/myapp myapp=myapp:$CI_COMMIT_SHA
when:
branch: main
Schritt 6: Überwachung mit Prometheus + Grafana
Stellen Sie mithilfe des kube-prometheus-stack-Helmdiagramms in wenigen Minuten einen Überwachungsstapel in Produktionsqualität bereit:
# Install Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Add Prometheus community charts
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
# Install the full monitoring stack (Prometheus + Grafana + Alertmanager)
helm install monitoring prometheus-community/kube-prometheus-stack --namespace monitoring --create-namespace --set grafana.adminPassword=admin123
# Access Grafana
kubectl port-forward -n monitoring svc/monitoring-grafana 3000:80
# Browse to http://localhost:3000 (admin / admin123)
Grafana ist mit Dashboards für Cluster-CPU, Speicher, Pod-Zustand, Netzwerk-E/A und persistente Volume-Nutzung vorinstalliert.
Schritt 7: Fügen Sie einen Reverse-Proxy (Traefik) hinzu
Anstatt sich Dutzende von Portnummern zu merken, können Sie mit Traefik alle Dienste nach Hostnamen weiterleiten:
# Install Traefik via Helm
helm repo add traefik https://helm.traefik.io/traefik
helm install traefik traefik/traefik --namespace traefik --create-namespace
# IngressRoute for Gitea (Traefik CRD)
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: gitea
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`gitea.lab.local`)
kind: Rule
services:
- name: gitea
port: 3000
Fügen Sie Einträge zur Hosts-Datei Ihres Routers oder zum lokalen DNS hinzu (Pi-hole funktioniert hervorragend), alsogitea.lab.local, grafana.lab.localusw. werden in Ihre Traefik-IP aufgelöst. Keine Portnummern mehr.
Wesentliche Projekte zum Erstellen
Jetzt, da Ihr Labor in Betrieb ist, bauen Sie diese Projekte auf, um die von Arbeitgebern gewünschten Fähigkeiten zu festigen:
- Stellen Sie eine Full-Stack-App bereit— Frontend + API + Datenbank auf k3s mit persistenten Volumes
- Backups automatisieren– CronJob, der Datenbanken auf einem Samba NAS oder S3-kompatiblen Speicher (MinIO) sichert
- Infrastruktur als Code— Erstellen Sie Ihr gesamtes Labor mit Terraform + Ansible von Grund auf neu
- GitOps mit ArgoCD– Manuelle kubectl-Befehle ersetzen; Alle Änderungen laufen über Git
- Sicherheitshärtung– Fügen Sie Falco (Laufzeitsicherheit), NetworkPolicies und RBAC-Rollen hinzu
- Notfallwiederherstellungsübung— Einen Knoten löschen und automatisch wiederherstellen. Testen Sie Ihre Annahmen.
🔧 Sind Sie bereit, Ihr DevOps-Heimlabor aufzubauen?
Ihr Heimlabor ist der schnellste Weg zur DevOps-Meisterschaft. Sobald es läuft, verbessern Sie Ihre Linux-Kenntnisse mit unserem Leitfaden zuLinux-Tutorials, und erkunden SieCloud-Computing-Anleitungenum zu verstehen, wie die Produktionsinfrastruktur über Ihr Heimnetzwerk hinaus skaliert.
Häufig gestellte Fragen
Welche Hardware benötige ich für ein DevOps-Heimlabor?
Beginnen Sie mit einer beliebigen Maschine mit mehr als 16 GB RAM. Ein generalüberholter Mini-PC (Beelink SER5, Intel NUC) mit 32 GB RAM und 1 TB NVMe SSD (ca. 250–300 US-Dollar) ist die optimale Lösung für den gleichzeitigen Betrieb von Proxmox + k3s + CI/CD.
Sollte ich Docker oder Kubernetes in meinem Heimlabor verwenden?
Beide. Beginnen Sie mit Docker, um die Container-Grundlagen zu erlernen, und fügen Sie dann k3s (Lightweight Kubernetes) hinzu. Im Jahr 2026 sind für die meisten DevOps-Rollen k8s-Kenntnisse erforderlich – Ihre k3s-Erfahrung im Heimlabor lässt sich direkt übertragen.
Was ist Proxmox und warum wird es verwendet?
Proxmox VE ist ein kostenloser Open-Source-Hypervisor (wie VMware). Damit können Sie mehrere VMs auf einer Maschine ausführen – perfekt für die Simulation einer Infrastruktur mit mehreren Knoten, ohne mehrere Computer kaufen zu müssen.
Wie übe ich CI/CD zu Hause?
Installieren Sie Gitea (selbstgehostetes Git) + Woodpecker CI auf einer VM. Jeder Git-Push löst eine Pipeline aus – erstellen, testen, auf k3s bereitstellen. Dies spiegelt genau das wider, was echte Unternehmen in der Produktion tun.
Ist für DevOps-Jobs ein Heimlabor erforderlich?
Nicht unbedingt, aber es ist der größte Karrierebeschleuniger. Sie erhalten uneingeschränkten Zugriff, dauerhafte Umgebungen, echte Networking-Praxis und eine überzeugende Interviewgeschichte. Die meisten DevOps-Ingenieure schwören darauf, dass ihr Heimlabor der Schlüssel zu leitenden Positionen ist.
🔗 Share this article
✍️ Leave a Comment