Docker installieren auf Ubuntu Server: Der Einstieg, den euer HomeLab verdient

Docker einrichten

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.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert