Mehrere Gateways (auf einem Host)
In den meisten Fällen reicht ein einzelner Gateway, da er mehrere Messaging-Verbindungen und Agents gleichzeitig verwalten kann. Wenn du aber stärkere Isolation oder Redundanz brauchst (z.B. einen Rescue-Bot), kannst du separate Gateways mit eigenen Profilen und Ports betreiben.
Checkliste zur Isolation (erforderlich)
OPENCLAW_CONFIG_PATH— eigene Config-Datei pro InstanzOPENCLAW_STATE_DIR— eigenes Verzeichnis für Sessions, Credentials und Caches pro Instanzagents.defaults.workspace— eigenes Workspace-Verzeichnis pro Instanzgateway.port(oder--port) — eindeutiger Port pro Instanz- Abgeleitete Ports (Browser/Canvas) dürfen sich nicht überschneiden
Wenn diese Werte geteilt werden, kommt es zu Config-Konflikten und Port-Kollisionen.
Empfohlen: Profile (--profile)
Profile setzen automatisch OPENCLAW_STATE_DIR + OPENCLAW_CONFIG_PATH und fügen den Service-Namen ein Suffix hinzu.
# 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 installieren:
openclaw --profile main gateway install
openclaw --profile rescue gateway install
Rescue-Bot Anleitung
Starte einen zweiten Gateway auf demselben Host mit eigenem:
- Profil/Config
- State-Verzeichnis
- Workspace
- Basis-Port (plus abgeleitete Ports)
So bleibt der Rescue-Bot vom Haupt-Bot isoliert und kann debuggen oder Config-Änderungen vornehmen, falls der primäre Bot nicht erreichbar ist.
Port-Abstand: Lass mindestens 20 Ports zwischen den Basis-Ports frei, damit die abgeleiteten Browser/Canvas/CDP-Ports nie kollidieren.
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
# - Port sollte mindestens 18789 + 20 Ports sein,
# 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 passiert)
openclaw --profile rescue gateway install
Port-Mapping (abgeleitet)
Basis-Port = gateway.port (oder OPENCLAW_GATEWAY_PORT / --port).
- Browser Control Service Port = Basis + 2 (nur Loopback)
canvasHost.port = Basis + 4- Browser-Profil CDP-Ports werden automatisch vergeben:
browser.controlPort + 9 .. + 108
Wenn du einen dieser Werte in der Config oder per Umgebungsvariable überschreibst, musst du sie pro Instanz eindeutig halten.
Browser/CDP Hinweise (häufiger Fehler)
- Setze
browser.cdpUrlnicht auf denselben Wert bei mehreren Instanzen. - 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 Beispiel mit Umgebungsvariablen
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
Schnelle Statusprüfung
openclaw --profile main status
openclaw --profile rescue status
openclaw --profile rescue browser status