게이트웨이가 계속 떠 있고, Wi-Fi 순간 끊김 후 채널이 재연결되며, 상태 디렉터리가 지루할 때 OpenClaw는 마법처럼 느껴집니다. ~/.openclaw가 실수로 동기 폴더 안에 있거나 launchd가 디스크 마운트 전에 시작하면 취약해집니다. 이 2026 체크리스트는 NodeMac에서 홍콩, 일본, 한국, 싱가포르, 미국 리전의 SSH/VNC로 빌릴 수 있는 전용 Mac mini M4 호스트를 겨냥해 자동화가 사이드 프로젝트가 아니라 인프라처럼 동작하게 합니다.
긴 설치 내러티브는 포괄적 OpenClaw macOS 설치에서 시작하고, 운영은 doctor 진단과 준비성 프로브 및 SLO로 조입니다. 비밀은 시크릿, 환경 변수, 키체인 패턴을 따르세요. 원격 작업: 권한 프롬프트는 VNC; 호스트 추가는 요금.
상태 디렉터리가 조용한 의존성인 이유
게이트웨이는 상태 경로 아래에 채널 메타데이터, 세션 캐시, 로컬 도구 산출물을 둡니다. 그 경로가 클라우드 동기 대상이면 코드 변경과 상관없는 간헐적 SQLite나 파일 잠금 실패가 납니다. 외부 볼륨이면 launchd가 게이트웨이를 시작하기 전에 마운트 순서를 확인하세요. 전용 클라우드 Mac에서는 디스크 레이아웃, 네트워크 안정성, 재부팅 주기를 모두 제어할 수 있습니다.
구체적 규칙: OPENCLAW_STATE_DIR을 /var/lib/openclaw(소유권 올바르게) 또는 모든 동기 클라이언트에서 제외된 APFS의 서비스 사용자 홈 하위로 설정하고 CMDB에 경로를 기록합니다.
Apple Silicon에서의 헤드리스 게이트웨이 기대치
헤드리스는 “GUI가 절대 필요 없음”이 아니라 정상 상태에 사람이 필요 없다는 뜻입니다. 일부 macOS 권한은 일회성 승인이 필요합니다. 부트스트랩 중 VNC 세션을 계획한 뒤 SSH 자동화로 돌아가세요. 보안팀이 수용하는 launchd 모델과 짝을 이룹니다: 개발자 스타일 호스트는 사용자 LaunchAgent, 공유 자동화 계정은 더 엄격한 패턴.
- 바인드 주소: 게이트웨이가 루프백만 듣는지 비공개 RFC1918 인터페이스인지 확인하고 방화벽 규칙과 맞춥니다.
- 시계 편차: NTP 모니터링을 켭니다. JWT 스타일 인증은 시계가 어긋나면 조용히 깨집니다.
- 로그 로테이션: 디스크가 차기 전에 JSON 로그를 호스트 밖으로 보냅니다. 채널이 깜빡일 때 CI 아티팩트와 상관시킵니다.
프로덕션 선언 전 검증 매트릭스
| 검사 | 통과 기준 | 담당 |
|---|---|---|
| Doctor | 미해결 치명 오류 없음; 버전은 티켓에 고정 | 플랫폼 엔지니어 |
| 게이트웨이 상태 | 재부팅 후 수동 로그인 없이 프로세스 정상 | 온콜 자동화 |
| 준비성 프로브 | 인접 모니터에서 p95 < 200 ms(SLO에 맞게 조정) | SRE |
| 시크릿 로테이션 드릴 | plist를 손으로 편집하지 않고 LLM 키 로테이션 | 보안 챔피언 |
실제 M4 플릿에서 보는 실패 모드
가설이 아니라 문서에서 환경 상속이 빠지면 다시 열리는 티켓입니다. 인시던트가 여기 해당하면 토큰과 plist 정렬 가이드로 이동하세요: 게이트웨이 토큰과 launchd 드리프트.
- 대화형에서만 성공: SSH 세션에서는 되지만 재부팅 후 새벽 3시에 실패——거의 항상 plist 환경 누락.
- 조용한 부분 기동: 게이트웨이가 기본 포트가 바쁠 때 대체 포트에 바인드; 준비성 검사는 여전히 옛 포트를 침.
- 디스크 압박: 장황한 디버그 로그와 보존된 트레이스가 APFS를 채움; 상세 채널 전에 보존 정책 추가.
자주 묻는 질문
macOS iCloud 드라이브 안에 OpenClaw 상태를 둘 수 있나요?
아니요. 동기 폴더는 파일 잠금 경쟁을 만듭니다. 로컬 APFS에 두고 데이터베이스 저장처처럼 경로를 다루세요.
노트북 대신 전용 클라우드 Mac을 쓰는 이유는?
가동 시간, 네트워크, 소유 경계. 노트북은 절전하고, 클라우드 Mac은 웹훅과 예약 작업에 도달 가능합니다.
온보딩 후 가장 빠른 검증은?
doctor 한 번, 게이트웨이 상태 두 번(재부팅 전후), 네트워크상 두 지점에서 준비성 프로브.