Wenn ihr ein HomeLab betreiben wollt, kommt ihr an Docker nicht vorbei. Punkt. In dieser Anleitung zeigen wir euch, wie ihr Docker auf Ubuntu Server installiert und eure ersten Container startet, stoppt und aktualisiert. Klar, ihr könnt jede Anwendung klassisch installieren: mit Abhängigkeiten, Konfigurationsdateien quer über das System verteilt und dem sicheren Wissen, dass beim nächsten Distributions-Upgrade irgendwas kaputtgeht. Oder ihr packt jede Anwendung in einen Container: sauber getrennt, in Minuten installiert, in Sekunden wieder entfernt.
Ausgangspunkt ist ein frischer Ubuntu Server 24.04 LTS. Das kann ein Mini-PC im Regal sein, ein alter Laptop oder ein VPS. Docker ist es egal.
Docker auf Ubuntu installieren: So geht’s richtig
Wichtigste Regel zuerst: Installiert Docker nicht über apt install docker.io und schon gar nicht als Snap. Die Ubuntu-Paketquellen hinken hinterher, und die Snap-Version macht bei Volumes und Berechtigungen Ärger. Die richtige Quelle ist das offizielle Docker-Repository. Der einfachste Weg dorthin ist das offizielle Installations-Script von Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Das Script erkennt eure Ubuntu-Version, richtet das offizielle Docker-Repository ein und installiert Docker samt Compose-Plugin. Künftige Updates kommen danach ganz normal mit apt upgrade, denn das Repository ist ja jetzt eingerichtet.
Eine Sache zum Mitnehmen: Scripts aus dem Netz mit sudo auszuführen ist genau dann in Ordnung, wenn ihr der Quelle vertraut. Bei Docker selbst tun wir das. Als Gewohnheit für beliebige Quellen taugt das Muster aber nicht. Wer sehen will, was das Script tut, kann es vor dem Ausführen mit less get-docker.sh einfach durchlesen.
Damit ihr nicht vor jeden Befehl sudo tippen müsst, nehmt ihr euren Benutzer noch in die Docker-Gruppe auf:
sudo usermod -aG docker $USER
Danach einmal aus- und wieder einloggen. Kurzer Test:
docker run hello-world
Wenn Docker euch freundlich begrüßt, seid ihr startklar.
Docker Compose: Euer Standard-Werkzeug
Ihr werdet im Netz viele Anleitungen finden, die Container mit ellenlangen docker run-Befehlen starten. Vergesst das direkt wieder. Der Standard im HomeLab ist Docker Compose: Ihr beschreibt euren Container in einer kleinen Textdatei, und Docker kümmert sich um den Rest. Der große Vorteil: Die Datei ist eure Dokumentation. In einem halben Jahr wisst ihr noch genau, wie der Container konfiguriert ist. Bei einem docker run-Befehl aus dem Terminal-Verlauf eher nicht.
Praxisbeispiel: Uptime Kuma mit Docker Compose installieren
Als ersten Dienst installieren wir Uptime Kuma, ein Monitoring-Tool, das eure Dienste, Websites und Geräte überwacht und euch benachrichtigt, wenn etwas ausfällt. Genau das richtige Werkzeug für ein wachsendes HomeLab, und die Installation zeigt alles, was ihr über Container wissen müsst.
Legt einen Ordner an und darin eine compose.yaml:
mkdir -p ~/docker/uptime-kuma
cd ~/docker/uptime-kuma
nano compose.yaml
Inhalt:
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- ./data:/app/data
Kurz übersetzt: image legt fest, welche Software läuft. restart: unless-stopped sorgt dafür, dass der Container nach einem Reboot automatisch wieder startet. ports macht den Dienst unter Port 3001 erreichbar. Und volumes ist die wichtigste Zeile überhaupt: Sie speichert die Daten des Containers dauerhaft im Unterordner data. Das ./ bedeutet: relativ zur Compose-Datei, in unserem Fall also ~/docker/uptime-kuma/data. Docker legt den Ordner beim ersten Start automatisch an. Ohne diese Zeile wären eure Einstellungen beim nächsten Update weg.
Docker Container starten
docker compose up -d
Das -d steht für „detached“: Der Container läuft im Hintergrund. Docker lädt das Image herunter und startet den Dienst. Ruft im Browser http://<IP-eures-Servers>:3001 auf, legt einen Admin-Account an, fertig. Euer erster selbstgehosteter Dienst läuft.
Ob alles rund läuft, seht ihr mit:
docker ps
Und wenn irgendwas klemmt, schaut ihr in die Logs:
docker compose logs -f
Docker Container stoppen und entfernen
Zwei Befehle, zwei Bedeutungen, und der Unterschied ist wichtig:
docker compose stop
hält den Container an, lässt ihn aber liegen. Mit docker compose start läuft er weiter.
docker compose down
beendet und entfernt den Container komplett. Klingt dramatisch, ist es aber nicht: Eure Daten liegen ja im data-Ordner und bleiben erhalten. Ein docker compose up -d baut den Container einfach neu, mit allen euren Einstellungen.
Docker Container aktualisieren
Hier zeigt Docker, warum es im HomeLab so beliebt ist. Ein Update besteht aus drei Befehlen:
docker compose pull
docker compose up -d
docker image prune -f
pull lädt die neueste Version des Images, up -d ersetzt den laufenden Container durch die neue Version, und prune räumt die alten Images weg. Eure Daten bleiben dank Volume unangetastet. Kein Installer, keine Migrationsskripte, kein Bangen: Das komplette Update dauert unter einer Minute.
Genau dieses Muster gilt für praktisch jeden Container: Compose-Datei anlegen, up -d, bei Updates pull und wieder up -d. Wer das einmal verinnerlicht hat, installiert Jellyfin, Paperless oder Home Assistant nach demselben Schema.
Fazit: Docker auf Ubuntu Server ist der Grundstein fürs HomeLab
Docker auf Ubuntu Server zu installieren dauert eine Viertelstunde, und mit Docker Compose habt ihr einen Workflow, der vom ersten Container bis zum Zwanzig-Dienste-HomeLab skaliert. Uptime Kuma ist dafür der perfekte Einstieg und überwacht ab sofort gleich alles, was ihr als Nächstes installiert. Womit es weitergehen kann? Reverse Proxy und HTTPS, damit ihr eure Dienste nicht mehr über IP und Port aufruft. Aber das ist ein Thema für ein eigenes Video.



Schreibe einen Kommentar