Schoettli HomeLab

Wissensdatenbank

Schritt für Schritt Anleitung

Von der ISO bis zum ersten Container

Ubuntu Server Installation

Vorbereitung

Zuerst lädst du dir das aktuelle Ubuntu Server ISO-Image von der offiziellen Ubuntu-Webseite herunter. Wähle die LTS-Version (Long Term Support) für maximale Stabilität und fünf Jahre Updates. Mit einem Tool wie Rufus oder balenaEtcher erstellst du einen bootfähigen USB-Stick.

Installation starten

Boote deinen Server vom USB-Stick. Im BIOS oder UEFI stellst du die Boot-Reifolge entsprechend ein. Der Ubuntu-Installer startet und führt dich durch den Prozess.

Grundkonfiguration

Wähle deine bevorzugte Sprache und Tastaturlayout aus. Anschließend konfigurierst du die Netzwerkverbindung – entweder per DHCP für automatische IP-Zuweisung oder mit einer statischen IP-Adresse für Server-Umgebungen.

Festplatten-Partitionierung

Ubuntu bietet eine automatische Partitionierung an, die für die meisten Szenarien ausreicht. Fortgeschrittene Nutzer können manuelle Partitionen erstellen und dabei separate Bereiche für das System, Daten und Swap-Speicher festlegen. Für größere Setups empfiehlt sich ZFS oder LVM für flexible Storage-Verwaltung.

Benutzer anlegen

Erstelle deinen Administrator-Account mit Benutzernamen und Passwort. Dieser Account erhält automatisch sudo-Rechte für administrative Aufgaben. Wähle ein sicheres Passwort und merke dir die Zugangsdaten gut.

SSH-Server aktivieren

Aktiviere den OpenSSH-Server während der Installation. Das ermöglicht dir später die Fernverwaltung des Servers über die Kommandozeile – unverzichtbar für Headless-Betrieb ohne Monitor und Tastatur.

Installation abschließen

Der Installer kopiert nun alle Dateien, installiert das System und konfiguriert den Bootloader. Nach einem Neustart ist dein Ubuntu Server einsatzbereit.

System aktualisieren

Nach dem ersten Login aktualisierst du alle Pakete auf den neuesten Stand. Das System lädt die Paketlisten herunter und installiert verfügbare Updates für maximale Sicherheit und Stabilität.

sudo apt update
sudo apt upgrade -y

Docker Installation

Alte Versionen entfernen

Falls frühere Docker-Installationen vorhanden sind, solltest du diese zuerst vollständig entfernen, um Konflikte zu vermeiden.

sudo apt remove docker docker-engine docker.io containerd runc

Abhängigkeiten installieren

Docker benötigt einige Basispakete für HTTPS-Repositories und Zertifikatsverwaltung. Diese Pakete ermöglichen es dem System, sichere Verbindungen zu den Docker-Repositories herzustellen.

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

Docker Repository hinzufügen

Füge den offiziellen GPG-Schlüssel von Docker hinzu, um die Authentizität der Pakete zu gewährleisten. Anschließend fügst du das offizielle Docker-Repository zu deinen Paketquellen hinzu. So erhältst du immer die neuesten stabilen Docker-Versionen direkt vom Hersteller.

# GPG-Schlüssel hinzufügen
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Repository hinzufügen
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker installieren

Aktualisiere die Paketliste erneut und installiere die Docker Engine zusammen mit Docker CLI und containerd. Diese Komponenten bilden das Kern-System für Container-Management.

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker-Dienst starten

Aktiviere den Docker-Dienst, damit er automatisch beim Systemstart geladen wird. Starte den Dienst und überprüfe seinen Status, um sicherzustellen, dass alles korrekt läuft.

sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker

Benutzerrechte konfigurieren

Standardmäßig benötigt Docker root-Rechte. Füge deinen Benutzer zur Docker-Gruppe hinzu, um Docker-Befehle ohne sudo ausführen zu können. Nach einem Logout und erneutem Login sind die Berechtigungen aktiv.

sudo usermod -aG docker $USER

Danach einmal abmelden und neu anmelden:

exit

Installation testen

Teste die Installation mit einem einfachen Test-Container. Docker lädt das Image herunter, startet den Container und gibt eine Bestätigungsmeldung aus. Wenn diese erscheint, ist Docker korrekt installiert und einsatzbereit.

docker run hello-world

Docker-Version überprüfen

docker --version
docker compose version

Firewall konfigurieren (Optional)

Für zusätzliche Sicherheit kannst du die UFW-Firewall aktivieren. Erlaube SSH-Verbindungen, damit du weiterhin auf deinen Server zugreifen kannst. Aktiviere die Firewall und überprüfe die Regeln.

sudo apt install -y ufw
sudo ufw allow ssh
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status

Erste Schritte

Dein System ist jetzt bereit für Docker-Container. Du kannst mit einfachen Containern starten oder direkt Docker-Compose-Stacks für komplexere Anwendungen wie Medienserver, Heimautomatisierung oder Monitoring-Tools aufsetzen.

Beispiel: Nginx-Webserver starten

docker run -d -p 80:80 --name webserver nginx

Beispiel: Docker Compose Stack

Erstelle eine docker-compose.yml Datei:

nano docker-compose.yml

Beispiel-Inhalt:

version: '3.8'
services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
    restart: unless-stopped

Stack starten:

docker compose up -d

Ubuntu und Docker – die perfekte Grundlage für dein Homelab.