2026 OpenClaw auf gemietetem Mac Mini: OPENCLAW_HOME Multi-Instanz, doppelte Gateway-Ports und CI-Polling-Digest in einem Webhook — minimal reproduzierbar

Lesezeit: 9 Min.

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

  1. 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.
  2. 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.
  3. 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

  1. Verzeichnisse anlegen: Erzeugen Sie zwei Bäume wie /Users/shared/openclaw-prod und /Users/shared/openclaw-staging mit konsistenten POSIX-Rechten für den Agentenbenutzer.
  2. 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.
  3. Erste Instanz: Exportieren Sie OPENCLAW_HOME auf Produktion, führen Sie openclaw onboard aus, starten Sie das Gateway mit gesetzter OPENCLAW_GATEWAY_PORT und prüfen Sie kurz per Browser oder curl.
  4. Zweite Instanz: Neue Shell, OPENCLAW_HOME auf Staging, erneutes Onboarding, Gateway mit zweitem Port oder openclaw gateway --port 18790 — niemals dasselbe Home wiederverwenden.
  5. LaunchAgents: Kopieren Sie die plist, ändern Sie Label, StandardOutPath, StandardErrorPath und EnvironmentVariables; laden Sie mit launchctl bootstrap gui/$(id -u) neu, nicht doppelt bootstrappen.
  6. Health: Nach jedem Bootstrap lsof -nP -iTCP -sTCP:LISTEN | grep Ihre Ports und openclaw doctor in beiden exportierten Umgebungen ausführen.
  7. 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 PATH in Ihrer interaktiven SSH-Session mit der Ausgabe von launchctl 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.

Mac Mini für OpenClaw Multi-Instanz