33 Punkte von xguru 2026-03-02 | 7 Kommentare | Auf WhatsApp teilen
  • Ein Open-Source-Dienstprogramm von Vercel Labs, das bei der lokalen Entwicklung Portkonflikte und den Stress, sich merken zu müssen, welcher Port verwendet wurde, beseitigt
  • Vergibt jedem Entwicklungsserver eine eindeutige app.localhost-Subdomain und bietet damit ein URL-Schema, das sowohl für Menschen als auch für AI-Agenten erkennbar ist
    Wenn es mit next dev ausgeführt wird, ist es http://localhost:3000, sodass man sich 3000 merken muss.
    Bei Ausführung von portless myapp next dev ist der Zugriff stattdessen in der Form http://myapp.localhost:1355 möglich.
    Bei Ausführung wie portless api.myapp pnpm start wird auch der Zugriff per Subdomain wie http://api.myapp.localhost:1355 unterstützt.
  • Arbeitet mit einer proxybasierten Architektur, bei der portless proxy die Anfragen zentral weiterleitet
    • Beim Start einer App wird der Proxy automatisch gestartet, und jede App erhält einen zufälligen Port (4000–4999)
    • Die meisten Frameworks (Next.js, Express, Nuxt usw.) erkennen die Umgebungsvariable PORT automatisch
    • Für einige Frameworks wie Vite und Astro wird die Kompatibilität durch eine automatische Flag-Injektion sichergestellt
  • HTTP/2- und HTTPS-Unterstützung für schnelle Seitenladezeiten und sichere lokale Kommunikation
    • Browser begrenzen HTTP/1.1 auf 6 Verbindungen pro Host
      • Das verschlechtert die Leistung von Entwicklungsservern wie Vite/Nuxt, die viele unkomprimierte Dateien ausliefern
      • HTTP/2 multiplexed alle Anfragen über eine einzige Verbindung
    • Automatisierte Erstellung eigener Zertifikate und Registrierung im System-Trust-Store
    • Mit den Optionen --cert und --key können auch benutzerdefinierte Zertifikate verwendet werden
  • Bietet eine befehlsorientierte CLI-Oberfläche
    • portless <name> <cmd> : Startet eine App mit dem angegebenen Namen
    • portless list : Zeigt die Liste aktiver Routen an
    • portless proxy start/stop : Steuert den Proxy
    • Mit der Umgebungsvariable PORTLESS=0 kann die Ausführung ohne Proxy erfolgen
  • Speichert Routen- und PID-Informationen über ein Statusverwaltungsverzeichnis
    • Im normalen Benutzermodus wird ~/.portless, im Root-Modus /tmp/portless verwendet
    • Der Pfad kann mit PORTLESS_STATE_DIR überschrieben werden
  • Bei der Konfiguration eines API-Proxys in Vite, webpack-dev-server usw. muss der Host-Header umgeschrieben werden
    • Bei falscher Konfiguration weist eine Antwort 508 Loop Detected auf das Problem hin
  • Unterstützt Node.js 20 oder höher sowie macOS- und Linux-Umgebungen
  • Monorepo-Struktur auf Basis von pnpm + Turborepo
  • Apache-2.0-Lizenz, TypeScript-Codebasis (ca. 74 %)

7 Kommentare

 
xguru 2026-03-05

Es wurde mit Unterstützung für Worktrees aktualisiert

https://github.com/vercel-labs/portless/releases/tag/v0.5.2

Jetzt erkennt es Worktrees automatisch und setzt den Branch-Namen vor den Host.

 
ragingwind 2026-03-02

Es passt nicht gut zu Worktrees innerhalb desselben Projekts, deshalb nutze ich es nicht.

 
ndrgrd 2026-03-02

Ich dachte erst, die Zuweisung würde automatisch erfolgen, aber offenbar trägt man sie einfach manuell ein.
Ich nutze Caddy, daher gibt es für mich keinen besonderen Grund, dafür umzusteigen.

 
ksc2601 2026-03-02

Ich nutze das zwar bereits mit docker + traefik + mkcert, aber das hier scheint bequemer zu sein.

 
bytecakelake 2026-03-02

Ein nützlicher Beitrag.

 
xguru 2026-03-02

Heißt das, wir können uns jetzt von EADDRINUSE-Fehlern verabschieden?
Wenn man heutzutage über Agenten dieses und jenes entwickelt und ständig irgendwas startet, geraten die Dinger ja dauernd miteinander in Konflikt, haha

 
xguru 2026-03-02

Da auf X darüber gesprochen wurde: Falls man es in Docker verwendet, soll es offenbar auch funktionieren, wenn man die PID des Docker-Daemons erzwungen übergibt.

https://github.com/vercel-labs/portless/issues/61