멀티 Gateway 운영
대부분의 환경에서는 하나의 Gateway만으로도 여러 메시징 연결과 agent를 충분히 처리할 수 있으므로 단일 인스턴스를 권장합니다. 하지만 더 강한 격리나 장애 대비용 rescue bot이 필요하다면, 프로필과 포트를 분리해 여러 Gateway를 한 호스트에서 병렬로 실행할 수 있습니다.격리 필수 체크리스트
인스턴스 간 충돌을 막으려면 다음 항목을 반드시 독립적으로 구성해야 합니다.OPENCLAW_CONFIG_PATH: 인스턴스별 config 파일 경로OPENCLAW_STATE_DIR: 인스턴스별 session, credential, cache 저장 위치agents.defaults.workspace: 인스턴스별 workspace rootgateway.port(또는--port): 인스턴스별 고유 포트- 파생 포트 (Browser/Canvas): 하위 서비스 포트가 겹치지 않도록 유지
권장 방법: 프로필 (--profile) 사용
profile을 사용하면 OPENCLAW_STATE_DIR과 OPENCLAW_CONFIG_PATH가 자동으로 분리되고 service 이름에도 suffix가 붙습니다.
레스큐 봇(Rescue-bot) 구축 가이드
메인 봇의 장애 상황에 대비하여 동일 호스트에 독립적인 두 번째 Gateway를 실행함. 레스큐 봇은 다음과 같은 요소를 메인 봇과 완전히 분리하여 운용해야 함:- 전용 프로필 및 설정 파일.
- 독립된 상태 디렉터리 및 워크스페이스.
- 기본 포트 및 파생 포트.
레스큐 봇 설치 절차
파생 포트 매핑 규칙
기준 포트(Base port)는gateway.port 설정 또는 --port 플래그 값을 따름.
- 브라우저 제어 서비스 포트: 기준 포트 + 2 (루프백 전용).
- 캔버스 호스트: Gateway HTTP 서버와 동일한 포트 사용.
- 브라우저 프로필 CDP 포트:
browser.controlPort + 9~+ 108범위 내에서 자동 할당.
브라우저/CDP 관련 주의 사항
- 여러 인스턴스에서
browser.cdpUrl값을 동일하게 고정하여 사용하지 말 것. - 각 인스턴스는 기준 포트에서 파생된 고유의 브라우저 제어 포트와 CDP 범위를 가져야 함.
- 특정 CDP 포트가 필요한 경우, 인스턴스별로
browser.profiles.<name>.cdpPort를 각각 설정함. - 원격 크롬(Remote Chrome) 사용 시에는 프로필 및 인스턴스별로
browser.profiles.<name>.cdpUrl을 별도로 구성함.