{
  "title": "To install the service (if not happened automatically during onboarding)",
  "content": "openclaw --profile rescue gateway install\nbash theme={null}\nOPENCLAW_CONFIG_PATH=~/.openclaw/main.json \\\nOPENCLAW_STATE_DIR=~/.openclaw-main \\\nopenclaw gateway --port 18789\n\nOPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \\\nOPENCLAW_STATE_DIR=~/.openclaw-rescue \\\nopenclaw gateway --port 19001\nbash theme={null}\nopenclaw --profile main status\nopenclaw --profile rescue status\nopenclaw --profile rescue browser status\n```",
  "code_samples": [
    {
      "code": "## Port mapping (derived)\n\nBase port = `gateway.port` (or `OPENCLAW_GATEWAY_PORT` / `--port`).\n\n* browser control service port = base + 2 (loopback only)\n* `canvasHost.port = base + 4`\n* Browser profile CDP ports auto-allocate from `browser.controlPort + 9 .. + 108`\n\nIf you override any of these in config or env, you must keep them unique per instance.\n\n## Browser/CDP notes (common footgun)\n\n* Do **not** pin `browser.cdpUrl` to the same values on multiple instances.\n* Each instance needs its own browser control port and CDP range (derived from its gateway port).\n* If you need explicit CDP ports, set `browser.profiles.<name>.cdpPort` per instance.\n* Remote Chrome: use `browser.profiles.<name>.cdpUrl` (per profile, per instance).\n\n## Manual env example",
      "language": "unknown"
    },
    {
      "code": "## Quick checks",
      "language": "unknown"
    }
  ],
  "headings": [
    {
      "level": "h2",
      "text": "Port mapping (derived)",
      "id": "port-mapping-(derived)"
    },
    {
      "level": "h2",
      "text": "Browser/CDP notes (common footgun)",
      "id": "browser/cdp-notes-(common-footgun)"
    },
    {
      "level": "h2",
      "text": "Manual env example",
      "id": "manual-env-example"
    },
    {
      "level": "h2",
      "text": "Quick checks",
      "id": "quick-checks"
    }
  ],
  "url": "llms-txt#to-install-the-service-(if-not-happened-automatically-during-onboarding)",
  "links": []
}