ScaleTail
ScaleTail
Bildquelle: ChatGPT

ScaleTail bringt Docker-Dienste ins Tailscale-Netz

ScaleTail bringt Docker-Dienste per Tailscale ins eigene Tailnet. Private Webdienste bleiben erreichbar, ohne im offenen Internet zu landen.

Bei vielen Homelabs wird irgendwann nicht mehr nur ein einzelner Dienst genutzt. Zunächst wird in der Regel ein DNS-Filter wie AdGuard oder Pi-Hole installiert, später folgen dann beispielsweise ein Medienserver, eine Dokumentenverwaltung, ein Passwortmanager, ein Monitoring-Tool, ein Lesezeichen-Archiv oder eine lokale KI-Oberfläche. Das ist lokal natürlich problemlos möglich. Die Schwierigkeit entsteht erst, wenn diese Dienste auch unterwegs erreichbar sein sollen. Dann kommen schnell Portfreigaben, Reverse Proxy, Zertifikate, Subdomains und alte Testregeln ins Spiel, wodurch die ganze Sache sehr kompliziert wird. ScaleTail könnte die Lösung dafür sein. ScaleTail liefert fertige Docker-Compose-Stacks, um selbst gehostete Dienste recht einfach über ein privates Netzwerk zu veröffentlichen.

Genau dafür hält Tailscale fertige Docker-Compose-Stacks bereit. Tailscale ist ein VPN-/Mesh-Netzwerk-Dienst auf Basis von WireGuard. Es läuft dabei als Sidecar neben der eigentlichen Anwendung. Der Dienst erhält eine Adresse im eigenen Tailnet und muss nicht direkt über den Host veröffentlicht werden.

Wer Portainer, Umbrel oder ein eigenes Docker-Setup nutzt, ersetzt damit jedoch nicht die zugrunde liegende Infrastruktur. ScaleTail ist von Tailscale und deshalb näher an der darunterliegenden Infrastruktur. Es geht um Dienste, die erreichbar sein sollen, ohne automatisch zu einem öffentlichen Webdienst zu werden.

Tailscale

Tailscale sitzt vor dem Dienst.

Bei ScaleTail läuft neben der Anwendung ein eigener Tailscale-Container, das bereits erwähnte Sidecar. Die App nutzt dessen Netzwerk-Stack und hängt damit am Tailnet. Im Template ist diese Struktur bereits vorgesehen. Die Anwendung wird über network_mode: service: an den Tailscale-Container gebunden, während Tailscale den Zugriff und die Zugriffsverwaltung darauf übernimmt. Damit hängt die Weboberfläche nicht automatisch an einem offenen Host-Port.

Der Dienst bleibt zwar erreichbar, ist aber nicht sofort öffentlich. Diese Voreinstellung ist essenziell, natürlich geht es auch anders. Viele Setups scheitern nicht an Docker – auch wenn es manchmal wirklich knifflig ist –, sondern an der Frage, wie jeder neue Dienst später erreichbar gemacht wird.

Ohne klare Linie entsteht schnell eine Sammlung aus offenen Ports, Sonderregeln und vergessenen Freigaben. ScaleTail verhindert das nicht automatisch. Es gibt jedoch eine Vorlage, bei der privater Zugriff zuerst kommt und öffentliche Freigabe eine bewusste, aktive Entscheidung und Umsetzung bleibt.

self hosted

Vorlagen für typische Selfhosting-Dienste

Im Repository sind bereits viele Stacks für bekannte Homelab-Dienste verfügbar. Dazu gehören unter anderem AdGuard Home, Pi-hole, Technitium DNS, Immich, Jellyfin, Plex, Paperless-ngx, Karakel, Stirling-PDF, Vaultwarden, Home Assistant, Open WebUI, Portainer und Uptime Kuma.

Bei solchen Diensten ist dieser Ansatz nicht nur bequem, sondern auch logisch und eigentlich für jeden klar. Passwortmanager, Dokumentenverwaltung, Lesezeichen-Archive, PDF-Werkzeuge und Admin-Oberflächen enthalten Daten oder Zugänge, die nicht unbedacht im offenen Netz stehen sollten – sei es durch eine falsch gesetzte Flag, durch die der Dienst für Fremde erreichbar ist.

Diese Anwendungen benötigen selbstverständlich Zugriff. Sie benötigen jedoch keine öffentliche Adresse und Erreichbarkeit. Wer sie unterwegs nutzen möchte, kann dies über das Tailnet tun. Eine offene Domain ist dafür nicht zwingend nötig.

ScaleTail ist vor allem für Dienste geeignet, die regelmäßig genutzt werden, aber keinen öffentlichen Auftritt benötigen. Typische Beispiele sind interne Dashboards, Dokumentenablagen, private Werkzeuge, Monitoring oder lokale KI-Oberflächen. Der Zugriff soll möglich sein, aber nicht über eine normale öffentliche Domain laufen.

Wer Tailscale ohnehin bereits nutzt, erhält damit eine gute Vorlage für einzelne Anwendungen. Es ist kein eigener Reverse-Proxy-Eintrag für jeden Dienst erforderlich. Auch eine neue Subdomain für jede Weboberfläche ist nicht nötig, ebenso wenig eine nervige Portweiterleitung im Router, nur weil ein Dienst auch unterwegs erreichbar sein soll.

Docker wird dadurch allerdings nicht wartungsfrei. Themen wie Volumes, Umgebungsvariablen, Datenpfade und Updates bleiben weiterhin bestehen. Aber ScaleTail führt einen sehr gut durch diese Themen, übernimmt aber keine Administration. Es verhindert jedoch, dass bei jedem neuen Dienst der Zugriff wieder improvisiert werden muss.

Proxmox

Proxmox dient als sauberer Unterbau

ScaleTail benötigt eigentlich kein Proxmox; ein sauber installiertes Docker reicht aus. Für kleinere Dienste, Tests oder einzelne interne Werkzeuge kann ein Raspberry Pi natürlich voll und ganz ausreichen. Für ein dauerhaftes Homelab ist ein Setup mit Proxmox dennoch besser. Proxmox ist eine Open-Source-Plattform zur Virtualisierung. Damit kann man auf einem physischen Server mehrere virtuelle Systeme gleichzeitig betreiben.

Der Grund dafür liegt nicht bei ScaleTail selbst, sondern beim späteren Livebetrieb. Wer mehrere Dienste dauerhaft nutzt, benötigt Backups, Snapshots und eine saubere Trennung. Eine Docker-VM unter Proxmox lässt sich sichern, verschieben oder neu aufsetzen, ohne dass das komplette System auseinandergenommen werden muss.

Ein Raspberry Pi bleibt für kleine Setups oder andere Standorte selbstverständlich brauchbar. Sobald jedoch mehrere Dienste zusammenkommen, wird Proxmox schnell übersichtlicher. ScaleTail fügt sich gut ein, da es das Homelab nicht ersetzt, sondern den Zugriff auf einzelne Docker-Dienste über Tailscale sauber abbildet.

Tailscale, gl.net Router

ScaleTail bietet nicht nur Container, sondern auch ganze Standorte

Die Software bindet einzelne Anwendungen im Docker-Stack an. Tailscale kann jedoch auch früher im Netz greifen. Einige Router von GL.iNet verfügen direkt über die Tailscale-Firmware. Der Router kann einem Tailnet beitreten und danach auch WAN- und LAN-Ressourcen erreichbar machen. Das ist praktisch für Reise-Setups, andere Standorte oder ein komplettes zweites Netz.

Ein GL.iNet-Router im Hotel, Ferienhaus oder Büro kann einen Standort ins Tailnet bringen. ScaleTail wird dadurch aber nicht ersetzt. Es deckt nur einen anderen wichtigen Teil ab. Der Router bringt ein Netz in Reichweite, ScaleTail hingegen einzelne benötigte Docker-Dienste.

Auch das ist jedoch nicht ohne Einschränkungen möglich. GL.iNet weist selbst darauf hin, dass Tailscale nicht beliebig mit anderen VPN-Funktionen* kombiniert werden sollte. Probleme beim Routing sind dabei durchaus möglich. Außerdem führt GL.iNet die Funktion weiterhin als Beta. Wenn man trotzdem ein VPN benötigt, gibt es dank der Kooperation von Mullvad mit Tailscale die Möglichkeit, Mullvad VPN damit zu nutzen.

Die Installation von Tailscale auf dem Router ist jedoch kein Freifahrtschein. Es ist lediglich ein weiteres Tool aus dem gesamten Selfhosting-Werkzeugkasten. In einem sauberen Setup kann diese Kombination dennoch viel Arbeit sparen. Der Standortzugriff erfolgt über den Router, einzelne Dienste laufen über Tailscale.

Serve bleibt privat, Funnel jedoch nicht

Bei Tailscale muss man Serve und Funnel zwingend auseinanderhalten. Serve stellt lokale Dienste im Tailnet bereit. Zugriff bekommen Geräte, die Teil dieses privaten Netzwerks sind und nach den jeweiligen Regeln zugreifen dürfen.

Funnel ist hingegen keine private Freigabe mehr. Sobald ein Dienst darüber läuft, ist er öffentlich im Internet über eine eigene Domain erreichbar. Das kann für Webhooks, Statusseiten oder ganz bewusst geteilte Instanzen durchaus sinnvoll sein. Bei Passwortmanagern, Dokumentenarchiven und Admin-Oberflächen sollte man sich jedoch genau überlegen, ob dies sinnvoll ist, und sie gegebenenfalls ordentlich absichern.

Genau diese Grenze ist keineswegs theoretischer Natur. Eine kleine Statusseite oder ein Webhook-Endpunkt können öffentlich sinnvoll sein. Interne Werkzeuge und Admin-Oberflächen sollten dagegen nicht nebenbei über Funnel laufen, nur weil es technisch möglich ist.

(*) Alle mit einem Stern gekennzeichneten Links sind Affiliate-Links. Wenn Du über diese Links Produkte oder Abonnements kaufst, erhält Tarnkappe.info eine kleine Provision. Dir entstehen keine zusätzlichen Kosten. Wenn Du die Redaktion anderweitig finanziell unterstützen möchtest, schau doch mal auf unserer Spendenseite oder in unserem Online-Shop vorbei.