⌕
AnmeldenDabei sein ↗

Tippe mindestens zwei Buchstaben. Pfeiltasten wählen, Enter öffnet.

ANLEITUNG⌂ Homelab & Server

Raspberry Pi als Heimserver: Docker und Portainer einrichten

Vom leeren Raspberry Pi zum kleinen Heimserver: Betriebssystem aufspielen, Docker installieren, Portainer als Weboberfläche einrichten und den ersten Dienst starten.

Raspberry Pi, über dem drei Docker-Container schweben
Illustration: Spawnpunkt

Ein Raspberry Pi braucht im Leerlauf nur wenige Watt und reicht für viele Dienste im Heimnetz: einen Werbeblocker, eine Überwachung für deine Geräte, ein kleines Wiki oder einen Gameserver für zwei, drei Leute. Mit Docker läuft jeder Dienst in einem eigenen Container. Du kannst ihn starten, aktualisieren oder löschen, ohne den Rest des Systems anzufassen.

Am Ende dieser Anleitung hast du einen Pi, auf dem Docker läuft, eine Weboberfläche zum Verwalten der Container und einen ersten Dienst als Beispiel.

Was du brauchst

TeilEmpfehlung
Raspberry PiPi 4 oder Pi 5 mit mindestens 4 GB RAM
Netzteildas offizielle Netzteil (Pi 5: 27 W, USB-C)
SpeichermicroSD-Karte ab 32 GB (A2) oder besser eine SSD
NetzwerkLAN-Kabel zum Router, WLAN geht notfalls auch
Computerzum Beschreiben der Karte und für den Zugriff per SSH

Ein schwaches Netzteil ist die häufigste Ursache für Abstürze und kaputte Speicherkarten. Spar dort nicht. Wenn der Server dauerhaft laufen soll, lohnt sich eine SSD: Sie ist schneller und hält viele Schreibzugriffe besser aus als eine SD-Karte.

Schritt 1: Betriebssystem aufspielen

Lade den Raspberry Pi Imager von raspberrypi.com herunter und steck die Speicherkarte in deinen Computer.

  1. Wähle dein Pi-Modell aus.
  2. Als Betriebssystem nimmst du unter „Raspberry Pi OS (other)“ die Variante Raspberry Pi OS Lite (64-bit). Die Lite-Version hat keinen Desktop, den braucht ein Server nicht.
  3. Wähle die Speicherkarte aus.
  4. Bevor geschrieben wird, fragt der Imager nach Einstellungen. Leg dort einen Hostnamen fest (zum Beispiel homeserver), einen Benutzer mit sicherem Passwort, Zeitzone und Tastaturlayout. Aktivier SSH. WLAN-Daten trägst du nur ein, wenn kein Kabel möglich ist.
  5. Schreib die Karte, steck sie in den Pi, schließ LAN und Strom an.
Laptop schreibt das Betriebssystem auf eine microSD-Karte, daneben der Raspberry Pi
Der Raspberry Pi Imager schreibt das System auf die Karte und übernimmt dabei Benutzer, Hostname und SSH.

Schritt 2: Verbinden und aktualisieren

Nach ein, zwei Minuten ist der Pi im Netz. Öffne auf deinem Computer ein Terminal (unter Windows PowerShell) und melde dich an. Ersetze admin durch den Benutzernamen, den du im Imager vergeben hast:

ssh admin@homeserver.local

Findet dein Rechner den Namen nicht, schau in der Geräteliste deines Routers nach der IP-Adresse des Pi und nimm die stattdessen. Bring das System dann auf den neuesten Stand:

sudo apt update && sudo apt full-upgrade -y
sudo reboot

Schritt 3: Docker installieren

Docker stellt ein Installationsskript bereit, das auf Raspberry Pi OS (64-bit) die passenden Pakete einrichtet. Lade es herunter und führ es aus:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Damit du nicht vor jeden Befehl sudo schreiben musst, nimmst du deinen Benutzer in die Gruppe docker auf. Melde dich danach einmal ab und wieder an:

sudo usermod -aG docker $USER
exit

Nach dem erneuten Anmelden prüfst du, ob alles läuft:

docker run --rm hello-world
docker compose version

Erscheint „Hello from Docker!“, ist die Installation fertig. Docker Compose ist als Plugin gleich mit dabei.

Schritt 4: Portainer als Weboberfläche

Portainer zeigt alle Container, Logs und Volumes im Browser an. Du kannst damit Dienste starten, ohne jedes Mal per SSH Befehle einzutippen. Zuerst legst du ein Volume für die Daten an, dann startest du den Container:

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data portainer/portainer-ce:lts

Öffne danach im Browser https://homeserver.local:9443 oder die IP-Adresse des Pi mit Port 9443. Der Browser warnt vor dem Zertifikat, weil Portainer ein selbst erstelltes verwendet. Im Heimnetz kannst du die Warnung bestätigen.

Neuere Portainer-Versionen fragen bei der Ersteinrichtung nach einem Setup-Token. Den findest du im Log des Containers:

docker logs portainer 2>&1 | grep setup_token

Leg anschließend den Admin-Zugang an. Das Passwort muss mindestens 12 Zeichen lang sein. Wähl danach die Umgebung „local“, dann siehst du alle Container auf dem Pi.

Heimnetz: Router, Raspberry Pi mit Containern und ein Laptop, der die Weboberfläche öffnet
Der Pi hängt per Kabel am Router, die Weboberflächen der Container öffnest du von jedem Rechner im Heimnetz.

Schritt 5: Der erste eigene Dienst

Als Beispiel richtest du Uptime Kuma ein. Das Programm prüft regelmäßig, ob deine Geräte und Webseiten erreichbar sind, und meldet sich, wenn etwas ausfällt.

Geh in Portainer auf „Stacks → Add stack“, gib als Namen uptime-kuma ein und füg diese Compose-Datei in den Web-Editor ein:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - uptime-kuma:/app/data

volumes:
  uptime-kuma:

Klick auf „Deploy the stack“. Nach kurzer Zeit erreichst du den Dienst unter http://homeserver.local:3001. Nach demselben Muster startest du später andere Dienste: Compose-Datei aus der Dokumentation des Projekts nehmen, Ports und Speicherorte prüfen, deployen.

Updates und Sicherheit

Das Betriebssystem aktualisierst du regelmäßig mit sudo apt update && sudo apt full-upgrade. Container bekommen ein Update, indem du in Portainer beim Stack „Pull and redeploy“ wählst. Die Daten bleiben dabei in den Volumes erhalten.

Gib Portainer und andere Verwaltungsoberflächen nicht per Portfreigabe ins Internet frei. Wenn du von unterwegs zugreifen willst, nimm ein VPN wie WireGuard, das viele Router inzwischen selbst anbieten.

✓ Fazit
  • Raspberry Pi OS Lite (64-bit) mit SSH über den Imager einrichten
  • Feste IP im Router vergeben
  • Docker per Skript installieren, Benutzer zur Gruppe docker hinzufügen
  • Portainer auf Port 9443, Setup-Token aus dem Log holen
  • Neue Dienste als Stack aus einer Compose-Datei starten

Welche Dienste laufen bei dir? Zeig dein Setup unter Projekte oder frag in der Homelab-Ecke nach, wenn ein Container nicht starten will.

Quellen

Kommentare

Noch keine Kommentare. Was meinst du dazu?

Mitreden? Melde dich an, um zu kommentieren.

Frage stellen

Spawnpunkt bindet keine Dienste von Drittanbietern ein. Alles, was du hier erlaubst, bleibt auf meinem eigenen Server.