2026 OpenClaw auf gemietetem Mac Mini: OPENCLAW_HOME Multi-Instanz, doppelte Gateway-Ports und CI-Polling-Digest in einem Webhook — minimal reproduzierbar
Plattformteams, die auf einem einzigen gemieteten Mac Mini parallel Produktions- und Staging-Gateway für OpenClaw betreiben wollen, müssen Zustand und Netzwerk-Endpunkte strikt trennen — entsprechend der offiziellen Multi-Instanz-Hinweise mit eigenem OPENCLAW_HOME pro Instanz und klar gebundenen Gateway-Ports über OPENCLAW_GATEWAY_PORT beziehungsweise --port.
Dieser Artikel führt in fünf plus einen Triageschritt von der Verzeichnisplanung über Onboarding der zweiten Instanz, launchd- oder launchctl-nahe Betreuung, Health-Checks bis zur Zusammenführung von CI-Poll-Ergebnissen in einem Digest-Webhook. Ergänzend lesen Sie workflow_dispatch-Nachtläufe, repository_dispatch-Ketten und Installations-Heartbeat. Öffentliche Buchung über kaufen.html bleibt ohne vorherige Anmeldung möglich.
Drei typische Fehlannahmen bei zwei Gateways auf einem Host
- Ein gemeinsames Home-Verzeichnis. Zwei Prozesse, die denselben Konfigurationsbaum schreiben, erzeugen Lock-Konflikte, vermischte Tokens und nicht deterministische Gateway-Zustände — die Dokumentation fordert getrennte OPENCLAW_HOME-Pfade.
- Standardport doppelt gebunden. Ohne explizite OPENCLAW_GATEWAY_PORT- oder --port-Zuordnung versucht die zweite Instanz erneut den gleichen Listener; das System meldet EADDRINUSE oder ein stiller Prozess stirbt beim nächsten Neustart.
- CI-Spam pro fehlgeschlagenem Job. Direkte Webhooks je Pipeline-Lauf überlasten OpenClaw und menschliche Eskalationskanäle; ein Poll-Intervall mit Digest reduziert Rauschen bei gleichbleibender Aussagekraft.
Entscheidungsmatrix: Isolationsebenen
Kombinieren Sie immer getrennte Dateisystembäume mit getrennten TCP-Ports; dokumentieren Sie beides im internen Runbook, damit ein späterer Operator keine Porttabelle rät.
| Ebene | Mechanismus | Risiko bei Verstoß |
|---|---|---|
| Zustand und Geheimnisse | Je Instanz ein eigener OPENCLAW_HOME-Pfad unter /Users/shared/… |
Gemischte Credentials, nicht reproduzierbare Fehler |
| Gateway-Bindung | OPENCLAW_GATEWAY_PORT in der Umgebung oder openclaw gateway --port N |
Portkollision, falsches Routing externer Webhooks |
| Betrieb | Zwei LaunchAgents mit unterschiedlichen Label-Namen und getrennten Logpfaden | Doppeltes KeepAlive, gegenseitiges Neustarten, Logverlust |
| Steuergröße | Empfohlene Nutzung | Stabilitätshinweis |
|---|---|---|
OPENCLAW_GATEWAY_PORT |
In EnvironmentVariables der plist für dauerhafte Werte | Identisch zur Shell vor launchctl bootstrap prüfen |
--port |
Manuelle Tests, Wrapper-Skripte, Notfallstarts | Muss dieselbe Ganzzahl wie die Variable ergeben |
PATH |
Vollständiger Pfad inklusive /opt/homebrew/bin oder npm-global |
launchd startet nicht-interaktiv ohne Login-Shell-Profil |
launchd, launchctl und systemd im Kurzüberblick
Auf dem gemieteten Mac Mini nutzen Sie typischerweise LaunchAgents im Benutzerkontext: RunAtLoad startet nach Anmeldung oder Bootstrap, KeepAlive mit bedachtem Verhalten verhindert Endlosschleifen bei Konfigurationsfehlern, und ThrottleInterval kann helfen, wenn ein fehlerhafter Port-Zyklus sonst jede Sekunde neu startet.
<key>EnvironmentVariables</key>
<dict>
<key>OPENCLAW_HOME</key><string>/Users/shared/openclaw-staging</string>
<key>OPENCLAW_GATEWAY_PORT</key><string>18790</string>
<key>PATH</key><string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>
</dict>
Runbook: sieben Schritte von leer bis Digest
- Verzeichnisse anlegen: Erzeugen Sie zwei Bäume wie
/Users/shared/openclaw-prodund/Users/shared/openclaw-stagingmit konsistenten POSIX-Rechten für den Agentenbenutzer. - Portkarte schreiben: Reservieren Sie beispielsweise 18789 für Produktion und 18790 für Staging und tragen Sie freie Ports in die Firewall- oder Reverse-Proxy-Dokumentation ein.
- Erste Instanz: Exportieren Sie
OPENCLAW_HOMEauf Produktion, führen Sie openclaw onboard aus, starten Sie das Gateway mit gesetzter OPENCLAW_GATEWAY_PORT und prüfen Sie kurz per Browser odercurl. - Zweite Instanz: Neue Shell,
OPENCLAW_HOMEauf Staging, erneutes Onboarding, Gateway mit zweitem Port oderopenclaw gateway --port 18790— niemals dasselbe Home wiederverwenden. - LaunchAgents: Kopieren Sie die plist, ändern Sie Label, StandardOutPath, StandardErrorPath und EnvironmentVariables; laden Sie mit
launchctl bootstrap gui/$(id -u)neu, nicht doppelt bootstrappen. - Health: Nach jedem Bootstrap
lsof -nP -iTCP -sTCP:LISTEN | grepIhre Ports und openclaw doctor in beiden exportierten Umgebungen ausführen. - CI-Digest: Planen Sie ein launchd-Intervall von fünf bis fünfzehn Minuten, das GitHub- oder GitLab-APIs abfragt, fehlgeschlagene Jobs sammelt und einmal einen JSON-Digest an den OpenClaw-Webhook sendet; nur bei Schwellenüberschreitung Eskalation.
Health-Checks und Doctor nach dem Start
Ein Listener auf dem dokumentierten Port ist notwendig, aber nicht hinreichend: rufen Sie die projektinterne Health-URL oder den dokumentierten Status-Endpunkt mit curl -fsS aus einem kleinen Hüllskript auf und protokollieren Sie HTTP-Code und Latenz. openclaw doctor sollte in jeder Umgebung grün sein, bevor Sie Webhooks von außen umschalten — siehe auch Heartbeat-Runbook für Eskalationsketten.
CI-Polling und Webhook-Zusammenführung
Statt jedes fehlgeschlagene workflow_run-Ereignis sofort weiterzuleiten, schreibt ein Poll-Skript strukturierte Zeilen in eine lokale Queue-Datei und erzeugt am Ende des Fensters einen Digest mit Repository-Liste, fehlgeschlagenen Jobs und correlation_id. Der Digest wird einmal per POST an OpenClaw geschickt; damit bleibt das Gateway auch bei CI-Ausfällen interpretierbar und deckungsgleich mit den Mustern aus repository_dispatch.
Triage: Portkonflikte und PATH unter launchd
- EADDRINUSE oder stiller Exit
- Prüfen Sie doppelte Label, alte tmux-Sitzungen, manuell gestartete Gateways und ob ein anderer Dienst zufällig denselben Hochport nutzt; beenden Sie den Prozess sauber und starten Sie den Agenten erneut.
- openclaw: command not found
- Vergleichen Sie
printenv PATHin Ihrer interaktiven SSH-Session mit der Ausgabe vonlaunchctl print user/$(id -u)/com.example.openclaw.staging; ergänzen Sie fehlende Präfixe explizit in der plist.
Zitierfähige Leitplanken und Knotenwahl
Zitierfähige Leitplanken: zwei getrennte OPENCLAW_HOME-Wurzeln; Gateway-Ports 18789 und 18790 als dokumentierte Beispielwerte; Poll-Intervall fünf bis fünfzehn Minuten für CI-Digests; ein Digest-POST pro Fenster an OpenClaw.
Wählen Sie RAM und SSD so, dass zwei Logströme plus CI-Artefakte ohne Gelbphase auf dem gemeinsamen APFS-Volume bleiben — siehe Preise für passende Apple-Silicon-Pakete.
Fazit. Offizielle Multi-Instanz-Disziplin bedeutet: getrennte Homes, feste Ports, explizite PATH-Zeilen in launchd, wiederholbare Health-Nachweise und ein zusammengefasster CI-Digest statt Alarm-Hagel. Danach skalieren Sie den Miet-Mac über kaufen.html, weiterhin ohne Login-Zwang beim ersten Checkout-Schritt.
Mac-Knoten für zwei OpenClaw-Gateways
RunMini liefert Apple Silicon für parallele OPENCLAW_HOME-Instanzen mit klar getrennten Ports. Startseite, Pakete, Hilfe, Jetzt mieten — öffentliche Bestellung ohne Anmeldung.
Lesezeichen: Startseite und Blog — erneut öffnen, wenn Sie eine dritte OpenClaw-Umgebung ergänzen.