Launchy
Launchy ist mein eigener Launcher für lokale Entwicklungsserver. Er kennt alle meine Projekte, zeigt in der Mac-Menüleiste und in einem Web-Dashboard, was gerade läuft und unter welcher Adresse, und startet oder stoppt jedes Projekt mit einem Klick. Ein zentraler Ort statt Listen, Terminal-Fenstern und Fremdtools, den ich genau an meinen Arbeitsablauf angepasst habe.



2
Oberflächen: Menüleisten-App und Web-Dashboard
1
Klick zum Starten, Stoppen oder Öffnen
3 s
Takt für Status und Port-Abgleich
100 %
lokal, ohne Konto und ohne Cloud
Ausgangslage
In der Entwicklung laufen bei mir viele Server parallel auf dem eigenen Rechner, jeder mit eigenem Startbefehl, eigenem Ordner und eigenem Port. Welcher gerade läuft, unter welcher Adresse er erreichbar ist und wie man ihn startet, muss man irgendwo wissen oder dokumentieren. Eine Excel-Tabelle oder Liste kennt die Befehle und Ports, aber nicht den aktuellen Zustand. Es gibt Werkzeuge dafür, aber das sind wieder Drittanbieter-Tools mit eigenem Konzept. Ich wollte einen zentralen Ort, der alle meine Projekte kennt und den ich selbst anpassen kann.
Entstehung
- 01Zu viele Server, kein ÜberblickMit jedem neuen Projekt kam ein weiterer lokaler Server dazu. Irgendwann war nicht mehr klar, was läuft, welcher Port belegt ist und warum ein Server nicht startet. Gesucht wurde im Terminal oder in Notizen.
- 02Eine Liste kennt keinen ZustandBefehle und Adressen lassen sich in einer Tabelle festhalten. Ob ein Server gerade läuft, abgestürzt ist oder ein anderes Programm seinen Port belegt, steht dort nicht. Genau das braucht man aber im Alltag.
- 03Selbst gebaut statt eingekauftStatt mich an ein Fremdtool anzupassen, habe ich mir einen eigenen Launcher gebaut: eine Konfigurationsdatei mit allen Projekten, ein kleiner lokaler Server, der sie steuert, und genau die Funktionen, die ich brauche. Kommt ein Projekt dazu, ist es ein Eintrag mehr.
- 04Als App in der MenüleisteDie native Mac-App sitzt in der Menüleiste und zeigt die Zahl der laufenden Projekte. Ein Klick genügt zum Starten, Stoppen oder Öffnen. Das spart mir jeden Tag Zeit und ist ohne Einarbeitung bedienbar.
Was es kann
- 1Start und Stopp per KlickJedes Projekt startet mit seinem hinterlegten Befehl im richtigen Ordner. Beim Stoppen wird der gesamte Prozessbaum beendet, damit kein Kindprozess den Port blockiert. Reagiert ein Prozess nicht, folgt nach 5 Sekunden der harte Abbruch.
- 2Status auf einen BlickEin farbiger Punkt pro Projekt: läuft, gestoppt, Fehler oder außerhalb von Launchy gestartet. Die Menüleiste zeigt dazu, wie viele Projekte gerade laufen.
- 3Richtige Adresse, automatischGibt ein Dev-Server beim Start eine lokale Adresse aus, übernimmt Launchy sie als Link. Weicht ein Framework auf einen freien Port aus, stimmt der Link trotzdem.
- 4Fremd gestartete Server erkennenAlle 3 Sekunden gleicht Launchy die offenen Ports mit den Projektordnern ab. So erscheint auch ein Server, der im Terminal gestartet wurde, als laufend, und ein Port, den ein anderes Programm belegt, wird als Konflikt gemeldet.
- 5Logs liveDie Ausgaben jedes Projekts laufen live ins Dashboard, die letzten 500 Zeilen pro Projekt bleiben abrufbar. Fehlermeldungen sind farbig hervorgehoben.
- 6Autostart nach dem LoginProjekte lassen sich so markieren, dass sie beim Start von Launchy automatisch hochfahren. Zusammen mit „Start Launchy at Login“ ist nach einem Neustart alles wieder da, was ich brauche.
- 7Alles Wichtige im MenüPro Projekt: Starten, Stoppen, Adresse öffnen oder kopieren, Logs ansehen, Ordner im Finder zeigen. Dazu alle laufenden Projekte auf einmal stoppen, die Konfiguration bearbeiten und neu laden.
- 8Zwei Oberflächen, eine SchnittstelleWeb-Dashboard und Menüleisten-App greifen auf dieselbe lokale Schnittstelle zu. Die App startet den Server bei Bedarf selbst.
Sicherheit & Recht
- 1Nur lokal erreichbarDer Server lauscht ausschließlich auf dem eigenen Rechner und lehnt Anfragen ab, die nicht von dort kommen. Keine Cloud, kein Konto.
- 2Keine Befehle aus dem BrowserDie Oberfläche kennt nur Projektkennungen. Welche Befehle in welchem Ordner laufen, steht ausschließlich in der Konfigurationsdatei auf der Festplatte.
- 3Fremde Prozesse bleiben unberührtLaunchy beendet nur, was es selbst gestartet hat. Außerhalb gestartete Server werden angezeigt, aber nie abgeschossen.
- 4Projektordner bleiben sauberLaunchy schreibt nichts in die Ordner der verwalteten Projekte.
Technik
- Node.js
- Express 5
- Server-Sent Events
- tree-kill
- Vanilla JS, Tailwind
- Swift / AppKit (macOS)