Logbuch#hardware#docker#selfhosting#dns
Der Pi bekommt genau eine Aufgabe
Von Niclas Hennrich · veröffentlicht · geschehen am
Alternativen bewertet und einen Weg festgelegt.
- RAM des Pi 3B+
- 1GB
- entfernte Desktop-Pakete
- ~200
- Memory-Limit für Mealie
- 600MB
Anfang Juli wollte ich Mealie — eine selbstgehostete Rezeptverwaltung — auf
dem frisch neu aufgesetzten Raspberry Pi 3B+ betreiben. 1 GB RAM, Raspberry
Pi OS mit komplettem Desktop-Stack, kein Docker. Der Plan: Docker plus
Compose, Mealie mit SQLite unter /opt/mealie, nginx als Reverse Proxy auf
Port 80, der Container selbst nur auf localhost erreichbar.
Damit das überhaupt Platz hat, musste der Desktop weg. Rund 200 Pakete —
Chromium, Firefox, VLC, Display-Manager, Compositor — runter, Boot-Ziel auf
multi-user.target. Auf einem Pi mit 1 GB ist das keine Kür, sondern
Pflicht: Der Headroom für eine einzige App ist auch danach minimal. (Was sich
sonst noch abschalten lässt, steht inzwischen im Guide
Raspberry Pi headless betreiben.)
Die eigentliche Falle kannte ich vorher nicht: Memory-Cgroups sind auf
Raspberry Pi OS standardmäßig nicht aktiv. Das mem_limit von 600 MB in der
Compose-Datei stand da und tat — nichts. Erst cgroup_enable=memory in der
cmdline.txt und ein Neustart machen aus dem Limit ein echtes Limit. Wer
Docker auf einem Pi mit Speicherlimits betreibt, sollte das einmal prüfen,
statt sich auf die Compose-Datei zu verlassen.
Mealie lief dann. Zwei Wochen lang, hinter nginx, mit Pi-hole daneben.
Am 25. Juli habe ich es wieder abgebaut. Nicht weil es nicht funktionierte, sondern weil der Pi zwei Rollen hatte, die sich nicht vertragen: Der DNS-Server des ganzen Hauses teilte sich 1 GB RAM mit einer Web-App samt Datenbank. Jeder Schluckauf von Mealie wäre ein möglicher DNS-Ausfall gewesen. Mealie ist auf den Homeserver optimus umgezogen — der hat Reserven —, nginx ist vom Pi verschwunden, die Daten des alten Pi-Mealie liegen als Backup noch dort.
Seitdem hat der Pi genau eine Aufgabe: DNS und Ad-Blocking mit Pi-hole. Weniger RAM-Druck, weniger Angriffsfläche, eine klare Rolle. Die Erkenntnis, die ich seither auf alles Kleine anwende: Ein-Zweck-Systeme sind auf schwacher Hardware robuster als jedes Mehrzweck-Setup — und der DNS-Server des Heimnetzes sollte keine Nebenjobs haben.