Mein Server steht im Wohnzimmer
Blog, Cloud, Git und ein paar Webseiten laufen bei mir auf einem Mac mini. Ohne offene Ports im Router, mit einem Tunnel nach draußen. Ein Überblick.
Diese Seite, mein WordPress-Blog, meine Dateien und mein Git-Server laufen nicht bei einem Hoster, sondern auf einem Mac mini zu Hause. Das ist weniger exotisch, als es klingt.
Der Aufbau
Alles läuft in Containern, zusammengehalten von einer einzigen Compose-Datei:
- Caddy als Webserver vorne dran. Er verteilt jede Anfrage anhand des Hostnamens an die richtige Stelle.
- WordPress für den Hauptblog, mit MariaDB als Datenbank.
- Nextcloud für Dateien, Kalender und Videoanrufe.
- Forgejo als eigener Git-Server.
- Ein paar statische Seiten, so wie diese hier.
Die Daten liegen auf einer externen Platte. Die Idee dahinter: Platte an einen anderen Rechner hängen, Stack starten, alles läuft weiter.
Keine offenen Türen
Der Router hat für die Webseiten keinen einzigen offenen Port. Stattdessen baut ein kleiner Dienst von innen eine Verbindung zu Cloudflare auf, einen Tunnel. Besucher landen bei Cloudflare, Cloudflare reicht die Anfrage durch den Tunnel an Caddy weiter. Von außen sieht man meinen Anschluss gar nicht.
Für mich selbst gibt es noch einen zweiten Weg über ein privates VPN. Darüber erreiche ich auch Dinge, die bewusst nicht öffentlich sind.
Was dabei passiert ist
Eine Lektion, die ich nicht erwartet hatte: Mein Git-Server war eine Zeit lang öffentlich erreichbar. Innerhalb von gut anderthalb Tagen haben KI-Crawler rund 300.000 Anfragen geschickt und tausende Archive heruntergeladen. Kein Angriff im klassischen Sinn, einfach Bots, die alles abgrasen, was sie finden.
Seitdem hängt der Git-Server nicht mehr am Tunnel. Ich erreiche ihn nur noch über das VPN. Und ich führe Zugriffsprotokolle, die ich regelmäßig auswerte.
Lohnt sich das?
Für mich ja. Ich lerne dabei mehr als bei jedem Kurs, ich weiß, wo meine Daten liegen, und es kostet kaum mehr als Strom. Der Preis: Wenn etwas kaputtgeht, bin ich der Admin. Um drei Uhr nachts auch.