Mein Raspberry Pi 1 war über mehr als ein Jahrzehnt hinweg die Basis meines Heimservers. Er stellte zuverlässig Samba bereit und wurde im Laufe der Jahre um weitere Dienste ergänzt. Zunächst OwnCloud, später Seafile und schließlich Nextcloud. Der externe Zugriff erfolgte über Hamachi. Als A1 seinen Webspace einstellte, wurde auch meine damalige Webseite direkt auf dem Pi gehostet.

Anfang 2024 fiel der Raspberry Pi unerwartet aus und wurde zunächst außer Betrieb genommen. Als ich Anfang 2025 wieder eine eigene Webseite aufsetzen wollte, habe ich das System neu installiert. Zum Einsatz kamen Raspbian, Nginx, Samba und OpenVPN, später zusätzlich Tor. Dieses Setup lief über einen Zeitraum von mehr als 130 Tagen stabil.

Das Ende kam nach einem selbst kompilierten Paket, dessen Build mehrere Stunden direkt auf dem Pi dauerte. Kurz darauf traten erste Instabilitäten auf. Wahrscheinlich wurde die SD Karte durch die anhaltende Schreiblast nachhaltig beschädigt. Zunächst fielen Tor und OpenVPN aus, da diese Dienste besonders intensiv auf das Dateisystem zugreifen. Wenig später war das System insgesamt nicht mehr zuverlässig erreichbar. Teilweise lieferte der Webserver noch Inhalte aus, vermutlich aus dem Arbeitsspeicher, während der Kernel nicht mehr korrekt arbeitete. Auffällig war auch, dass die gemeldete Uptime teilweise um mehrere Stunden zurücksprang.

Parallel dazu stand ein altes Notebook als mögliche Alternative bereit. Es handelt sich um ein Gerät mit Intel N3150 CPU und WXGA Display. Für produktives Arbeiten war die Rechenleistung stark limitiert, und die niedrige Displayauflösung stellte selbst für minimalistische Setups eine Herausforderung dar. Auch mit einem sehr schlanken i3 Windowmanager ließ sich die grundlegende Einschränkung nicht kompensieren.

Trotzdem musste eine Lösung her. Der Raspberry Pi war zwar ein zuverlässiger Veteran, doch die SD Karte konnte den Anforderungen nicht mehr standhalten. Eine neue Karte kam für mich nicht in Frage, da auch diese unter vergleichbarer Dauerlast keine langfristige Lösung dargestellt hätte. Zusätzlich kommt ein strukturelles Problem hinzu: Debian unterstützt seit Version 10 armv6 offiziell nicht mehr. Zwar stellt die Raspberry Pi Foundation ihre armhf Pakete weiterhin so bereit, dass sie auch auf armv6 Systemen lauffähig sind, doch wie lange diese Kompatibilität noch gewährleistet ist, bleibt offen.

Aus diesen Gründen fiel die Entscheidung, sämtliche Dienste auf das alte Notebook zu migrieren. In der Theorie klang dieser Schritt trivial, in der Praxis erwies er sich jedoch als deutlich komplexer. Der Umzug bedeutete nicht nur einen Plattformwechsel, sondern auch ein Upgrade von Debian 12 auf Debian 13. Mehrere Pakete und Dienste, die auf dem Raspberry Pi über Jahre hinweg problemlos liefen, zeigten sich in der neuen Umgebung plötzlich inkompatibel oder erforderten Anpassungen.

Ein besonders hartnäckiges Beispiel war gmnisrv. Gegen die in Debian 13 enthaltene OpenSSL Version 3.5.1 ließ sich der Server nicht mehr direkt kompilieren. Um das Problem zu lösen, musste ich gezielt OpenSSL 1.1.1 beschaffen und gmnisrv explizit gegen diese Bibliothek bauen. Erst danach ließ sich der Dienst wieder stabil betreiben.

Solche Details machten den Migrationsprozess deutlich anspruchsvoller als ursprünglich erwartet. Dennoch zahlte sich der Aufwand aus. Nach einigen Anpassungen lief das System auf dem Notebook stabil und zuverlässig und bot eine deutlich robustere Basis als der gealterte Raspberry Pi.

Nach dem Umzug lief nun alles auf Debian 13, und die Umgebung war deutlich erweitert. Neben den klassischen Diensten Nginx, Samba, OpenVPN, Tor und meinem Python-Backend kam jetzt auch Docker zum Einsatz. Damit lassen sich Services effizienter verwalten und isolieren, was die Stabilität des Systems zusätzlich erhöht.

Der zuvor genutzte Raspberry Pi 3, der als Druck- und Scan-Server diente, konnte gleichzeitig außer Dienst genommen werden. Das Notebook läuft ohnehin 24/7 und übernimmt diese Aufgaben problemlos. Dank CUPS und SANE funktioniert Drucken und Scannen nun reibungslos, insbesondere da der Pi 3 häufig Probleme durch die begrenzte USB-Stromversorgung hatte.

Aktuell hoste ich auf dem Notebook folgende Dienste:

  • Jellyfin – Media-Server für Filme und Serien
  • Navidrome – Audio-Streaming für meine Musiksammlung
  • Audiobookshelf – Verwaltung und Streaming von Hörbüchern und Podcasts
  • OpenCloud – private Cloud für Dateien
  • Gitea – Git-Repository-Hosting
  • Glances – Monitoring der Systemressourcen
  • Portainer – grafische Verwaltung der Docker-Container
  • Transmission-Web – Torrent-Webinterface
  • pyLoad – Download-Manager für automatisierte Downloads
Gitea
Glances
Jellyfin
Navidrome
OpenCloud
Portainer

Die Kombination aus Debian 13 und Docker ermöglicht eine zentrale, flexible Plattform, die alle bisherigen Aufgaben zuverlässig übernimmt und gleichzeitig Raum für zukünftige Erweiterungen bietet. Über ein einfaches Dashboard habe ich Zugriff auf alle Dienste.

Dashboard-Ansicht meiner Dienste

Alles läuft überraschend stabil auf der kleinen CPU, und Docker erleichtert das Management der Services enorm. Endlich habe ich alles zentral auf einem Gerät, inklusive Webserver, Netzwerkdienste, Media-Streaming und Backup/Cloud-Lösungen.

Der Umzug war zwar ein kleiner Marathon, aber er hat sich gelohnt. Mein altes Notebook ist jetzt ein vollwertiger Homeserver, der auch komplexere Dienste zuverlässig handhaben kann, und das alles auf einem Gerät, das ursprünglich schon mit Office- und Browsing-Aufgaben überfordert war.

Ein besonderes Herzstück meines Heimservers war und ist die ASCII-Arcade. Auf dem Raspberry Pi lief sie ursprünglich in einer chroot-Umgebung, in die man sich über einen öffentlichen SSH-Zugang einwählen konnte. Nach dem Start landete man in einem einfachen Menü, das klassische ASCII-Spiele wie Nethack oder nSnake bereitstellte.

Ein Highlight war der Telnet-Zugang über Tor, über den man den legendären Star Wars Episode IV ASCII-Film (Starshell) anschauen konnte.

Heute wurde die ASCII-Arcade modernisiert. Sie läuft nun in einem eigens erstellten Docker-Container.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FROM debian:stable-slim

RUN apt-get update && apt-get install -y \
    bsdgames \
    moon-buggy \
    2048 \
    nethack-console \
    pacman4console \
    bastet \
    ninvaders \
    nsnake \
    greed \
    nudoku \
    git \
    curl \
    wget \
    && rm -rf /var/lib/apt/lists/*

RUN useradd -m arcade
WORKDIR /home/arcade
USER arcade
RUN git clone https://github.com/puxplaying/starshell.git /home/arcade/starshell
RUN chmod +x /home/arcade/starshell/starshell/starshell
CMD ["/home/arcade/menu.sh"]

Der grundlegende Ablauf ist geblieben. Man startet in einem simplen Menü, kann weiterhin Spiele spielen, und Starshell ist jetzt direkt über SSH verfügbar, zusätzlich zum ursprünglichen Telnet über Tor.

Und die alten Pis? Sie ruhen jetzt zwar, sind aber nicht vergessen. Sie warten bereitwillig auf neue Aufgaben und Projekte.