Mehrere Gateways (gleicher Host)
Die meisten Setups kommen mit einem einzigen Gateway aus, da es mehrere Messaging-Verbindungen und Agents gleichzeitig verwalten kann. Wenn du stärkere Isolation oder Redundanz brauchst (z. B. einen Rescue-Bot), betreibe separate Gateways mit eigenen Profilen und Ports.
Isolations-Checkliste (erforderlich)
OPENCLAW_CONFIG_PATH— eigene Konfigurationsdatei pro InstanzOPENCLAW_STATE_DIR— eigenes Verzeichnis für Sessions, Credentials und Caches pro Instanzagents.defaults.workspace— eigenes Workspace-Root pro Instanzgateway.port(oder--port) — eindeutig pro Instanz- Abgeleitete Ports (Browser/Canvas) dürfen sich nicht überschneiden
Werden diese geteilt, kommt es zu Config-Race-Conditions und Port-Konflikten.
Empfohlen: Profile (--profile)
Profile setzen automatisch OPENCLAW_STATE_DIR + OPENCLAW_CONFIG_PATH und hängen ein Suffix an Servicenamen an.
# main
openclaw --profile main setup
openclaw --profile main gateway --port 18789
# rescue
openclaw --profile rescue setup
openclaw --profile rescue gateway --port 19001
Services pro Profil:
openclaw --profile main gateway install
openclaw --profile rescue gateway install
Rescue-Bot-Anleitung
Betreibe ein zweites Gateway auf demselben Host mit jeweils eigenem:
- Profil/Konfiguration
- State-Verzeichnis
- Workspace
- Basis-Port (plus abgeleitete Ports)
So bleibt der Rescue-Bot vom Haupt-Bot isoliert und kann bei Problemen des primären Bots Debugging durchführen oder Konfigurationsänderungen vornehmen.
Port-Abstand: Lass mindestens 20 Ports zwischen den Basis-Ports frei, damit sich die abgeleiteten Browser-/Canvas-/CDP-Ports niemals überschneiden.
Installation (Rescue-Bot)
# Haupt-Bot (bestehend oder neu, ohne --profile-Parameter)
# Läuft auf Port 18789 + Chrome CDC/Canvas/... Ports
openclaw onboard
openclaw gateway install
# Rescue-Bot (isoliertes Profil + Ports)
openclaw --profile rescue onboard
# Hinweise:
# - Der Workspace-Name bekommt standardmäßig das Suffix -rescue
# - Der Port sollte mindestens 18789 + 20 betragen,
# besser einen komplett anderen Basis-Port wählen, z. B. 19789
# - Der Rest des Onboardings ist wie gewohnt
# Service installieren (falls nicht automatisch beim Onboarding geschehen)
openclaw --profile rescue gateway install
Port-Zuordnung (abgeleitet)
Basis-Port = gateway.port (oder OPENCLAW_GATEWAY_PORT / --port).
- Browser-Control-Service-Port = Basis + 2 (nur Loopback)
- Canvas-Host wird über den Gateway-HTTP-Server bereitgestellt (gleicher Port wie
gateway.port) - CDP-Ports für Browser-Profile werden automatisch ab
browser.controlPort + 9 .. + 108zugewiesen
Wenn du einen dieser Werte in der Konfiguration oder per Umgebungsvariable überschreibst, müssen sie pro Instanz eindeutig sein.
Browser/CDP-Hinweise (häufige Stolperfalle)
browser.cdpUrlnicht bei mehreren Instanzen auf denselben Wert setzen.- Jede Instanz braucht ihren eigenen Browser-Control-Port und CDP-Bereich (abgeleitet vom Gateway-Port).
- Wenn du explizite CDP-Ports brauchst, setze
browser.profiles.<name>.cdpPortpro Instanz. - Remote Chrome: Verwende
browser.profiles.<name>.cdpUrl(pro Profil, pro Instanz).
Manuelles Umgebungsvariablen-Beispiel
OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \
OPENCLAW_STATE_DIR=~/.openclaw-main \
openclaw gateway --port 18789
OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \
OPENCLAW_STATE_DIR=~/.openclaw-rescue \
openclaw gateway --port 19001
Schnelltests
openclaw --profile main status
openclaw --profile rescue status
openclaw --profile rescue browser status