Zum Inhalt springen

Einen öffentlichen Demo-Link teilen

Du musst einem Kunden ein Work-in-progress zeigen? mdocker share macht ein lokal laufendes Projekt öffentlich erreichbar über einen Cloudflare-Quick-Tunnel (trycloudflare.com) — kein Cloudflare-Account erforderlich.

cloudflared installieren
brew install cloudflared

Nur share start braucht cloudflared; stop und ls funktionieren ohne.

mdocker share
mdocker share aurora # Kurzform für `share start`; gibt die öffentliche URL aus
mdocker share ls # aktive Tunnels listen
mdocker share stop aurora # Tunnel(s) dieses Projekts stoppen
mdocker share stop aurora --all

share start ist idempotent — wenn ein Tunnel bereits live ist, gibt es nur die URL erneut aus. Standardmäßig teilt es den ersten Hostnamen des Projekts; übergib einen bestimmten Host, um einen anderen zu teilen. Der Tunnel-Origin wird automatisch geprüft: zuerst die Traefik-IP auf :443 (für OrbStack, wo Host :443 nicht weitergeleitet wird), mit Fallback auf 127.0.0.1:443 für Docker Desktop.

Jeder Tunnel ist ein nohup-Hintergrund-cloudflared-Prozess. Sein State und Log liegen unter ~/.config/multi-docker/state/tunnels/<project>__<host>.{json,log} — das sind ephemere Runtime-Artefakte, nicht Teil von registry.json. share ls heilt sich selbst, indem es Einträge entfernt, deren Prozess weg ist.

Ein Projekt zu stoppen oder zu entfernen räumt seine Tunnels automatisch auf: mdocker down <name> und mdocker rm <name> stoppen beide die Tunnels dieses Projekts. (edge restart und ein schlichtes Projekt-restart tun das nicht.)