2026년 OpenClaw 클라우드 Docker와 Tailscale 제로 공개 배포

저비용 클라우드 VM에 OpenClaw Gateway를 올릴 때 흔한 목표는 MCP·Streamable HTTP를 tailnet 안에서만 듣게 하고 공인 리스너를 두지 않는 것입니다. 패턴은 Docker Compose에 공식 Tailscale 이미지를 사이드카로 붙이는 것입니다. 사이드카가 tailscale up과 상태 볼륨을 소유하고 Gateway는 브리지·127.0.0.1에만 바인딩합니다. 방화벽만 믿지 말고 docker ps로 포트 매핑을 먼저 확인하세요. 원격 Mac에 두고 SSH로 UI를 붙이는 절차는 2026년 OpenClaw 원격 Mac 네이티브 설치와 게이트웨이 SSH 터널 운영: Node 22, onboard 데몬, doctor 오류 FAQ와 짝을 이루면 좋습니다.

1. Compose 사이드카: ports:가 다시 공개 데이터 경로를 열지 않게

사이드카와 Gateway를 같은 사용자 정의 브리지에 두고 상태 디렉터리는 분리하세요. 하나의 /var/lib/tailscale 공유는 로그인·키 충돌을 부릅니다. 443:443·테스트용 0.0.0.0은 방화벽이 막혀도 Docker publish로 공개될 수 있습니다. 루프백·내부 IP만 리스닝하고 MagicDNS로 접근하세요. TLS는 tailnet 내부 역프록시에서만 끊고, 재시작·프로브는 2026 OpenClaw Kubernetes 0→프로덕션: Helm과 스크립트 배포 비교, 프로브·Secret 순환, CrashLoopBackOff 재현 튜토리얼과 같은 변경 티켓에 묶으면 단순합니다.

경험칙: ACL을 만지기 전에 docker ps로 호스트 공개 매핑이 없는지 확인하세요.

2. Gateway를 tailnet에 묶기: HTTPS와 Bearer 토큰을 겹쳐 쌓기

tailscale uptailscale cert나 내부 Caddy로 신뢰 체인을 맞추세요. 토큰은 환경 변수·Docker secret으로만 주입합니다. TLS를 앞에서 끊을 때는 역프록시와 Gateway 양쪽에서 Authorization: Bearer를 검증해 오배달 경로를 막습니다. TLS 실패와 401을 로그에서 분리하고, 토큰 교체는 롤링 재시작 표에 ACL 소유자와 함께 적으세요.

3. Serve와 Funnel: 정책 경계를 문서에 박아 두기

tailscale serve는 tailnet 전용에 맞고, Funnel은 공인 인터넷 노출입니다. 제로 공개라면 Funnel을 기본 차단하고 임시 토글을 감사하세요. Serve에서 호스트명·경로 접두사가 Gateway 베이스와 어긋나면 404·리다이렉트 루프처럼 보이므로 MagicDNS·Serve·OpenClaw 라우트를 한 티켓에 맞추세요.

4. 연결 실패: 검색 공간을 고정 순서로 줄이기

1) 사이드카 tailscale status로 tailnet·NeedsLogin을 확인합니다. 2) 다른 멤버에서 100.x 핑과 curl -vk로 ACL과 앱을 갈라냅니다. 3) 실제 Authorization가 있는 curl로 TLS와 401을 분리합니다. 4) Streamable HTTP만 실패하면 idle·바디 상한을 끝간 확인합니다. ACL을 잠깐 조였다 되돌리는 절차를 스크립트로 남기면 재현이 쉽습니다.

  • 사이드카 재시작으로 상태 볼륨이 비워져 재로그인이 필요했습니까?
  • 호스트 tailscaled와 컨테이너 사이드카가 겹치는 경로를 쓰고 있지 않습니까?
  • 클라우드 메타데이터 엔드포인트가 “내부 전용” 라우팅에 잘못 끌려 들어갔습니까?

맺음말: Linux 게이트웨이, 무거운 절반은 macOS·Mac mini

Gateway는 Linux VM에 두고 노타라이즈·서명·GUImacOS로 넘기면 비용과 공개 면적을 동시에 줄입니다. 버스트는 전용 Mac mini에 두면 Apple Silicon 대역폭과 Xcode를 tailnet 안에서만 씁니다. Mac mini는 약 4W 유휴·무음에 강하고 Gatekeeper·SIP·FileVault로 무인 기본선이 높습니다. 같은 tailnet 용량은 Macstripe 홈에서 Mac mini M4로 맞추면 이 스택과 짝이 잘 맞습니다. 지금 구성을 마무리하려면 Mac mini M4가 가장 현실적인 출발점입니다.