GCP Compute Engine에서 OpenClaw 실행하기 (Docker, 프로덕션 VPS 가이드)
목표
Docker를 사용해 GCP Compute Engine VM에서 지속적인 OpenClaw Gateway를 실행하고, 지속 가능한 상태, 내장 바이너리, 안전한 재시작 동작을 확보합니다. “월 약 $5~12로 OpenClaw를 24/7 실행”하고 싶다면, 이것은 Google Cloud에서 신뢰할 수 있는 설정입니다. 가격은 머신 유형과 리전에 따라 다르며, 워크로드에 맞는 가장 작은 VM을 선택한 뒤 OOM이 발생하면 상향 조정하세요.무엇을 하게 되나요? (쉽게 설명)
- GCP 프로젝트를 만들고 결제를 활성화합니다
- Compute Engine VM을 만듭니다
- Docker를 설치합니다(격리된 앱 런타임)
- Docker에서 OpenClaw Gateway를 시작합니다
- 호스트에
~/.openclaw+~/.openclaw/workspace를 유지합니다(재시작/재빌드 후에도 유지) - SSH 터널을 통해 노트북에서 Control UI에 접속합니다
~/.openclaw 상태에는 openclaw.json, agent별
agents/<agentId>/agent/auth-profiles.json, .env가 포함됩니다.
Gateway에는 다음 방식으로 접근할 수 있습니다:
- 노트북에서 SSH 포트 포워딩
- 방화벽과 토큰을 직접 관리하는 경우 직접 포트 노출
빠른 경로(숙련된 운영자용)
- GCP 프로젝트 생성 + Compute Engine API 활성화
- Compute Engine VM 생성(e2-small, Debian 12, 20GB)
- VM에 SSH 접속
- Docker 설치
- OpenClaw 저장소 클론
- 영구 호스트 디렉터리 생성
.env및docker-compose.yml구성- 필요한 바이너리를 이미지에 포함시키고 빌드 및 실행
필요한 것
- GCP 계정(e2-micro free tier 자격 가능)
- gcloud CLI 설치됨(또는 Cloud Console 사용)
- 노트북에서의 SSH 접근
- SSH + 복사/붙여넣기에 대한 기본적인 익숙함
- 약 20~30분
- Docker 및 Docker Compose
- 모델 인증 자격 증명
- 선택적 공급자 자격 증명
- WhatsApp QR
- Telegram 봇 토큰
- Gmail OAuth
gcloud CLI 설치(또는 Console 사용)
옵션 A: gcloud CLI (자동화에 권장)https://cloud.google.com/sdk/docs/install에서 설치하세요.초기화 및 인증:옵션 B: Cloud Console모든 단계는 https://console.cloud.google.com의 웹 UI에서도 수행할 수 있습니다.
GCP 프로젝트 만들기
CLI:https://console.cloud.google.com/billing에서 결제를 활성화하세요(Compute Engine에 필요).Compute Engine API 활성화:Console:
- IAM & Admin > Create Project로 이동
- 이름을 지정하고 생성
- 프로젝트에 대해 결제 활성화
- APIs & Services > Enable APIs로 이동 > “Compute Engine API” 검색 > Enable
VM 만들기
머신 유형:
CLI:Console:
| 유형 | 사양 | 비용 | 참고 |
|---|---|---|---|
| e2-medium | 2 vCPU, 4GB RAM | 약 $25/월 | 로컬 Docker 빌드에 가장 안정적 |
| e2-small | 2 vCPU, 2GB RAM | 약 $12/월 | Docker 빌드를 위한 최소 권장 사양 |
| e2-micro | 2 vCPU(공유), 1GB RAM | free tier 가능 | Docker 빌드 OOM(exit 137)으로 자주 실패 |
- Compute Engine > VM instances > Create instance로 이동
- 이름:
openclaw-gateway - 리전:
us-central1, 존:us-central1-a - 머신 유형:
e2-small - 부팅 디스크: Debian 12, 20GB
- Create
VM에 SSH 접속
CLI:Console:Compute Engine 대시보드에서 VM 옆의 “SSH” 버튼을 클릭하세요.참고: SSH 키 전파에는 VM 생성 후 1~2분이 걸릴 수 있습니다. 연결이 거부되면 잠시 기다렸다가 다시 시도하세요.
환경 변수 구성
저장소 루트에 강력한 secret 생성:이 파일은 커밋하지 마세요.이
.env를 만드세요..env 파일은 OPENCLAW_GATEWAY_TOKEN 같은 컨테이너/런타임 환경 변수용입니다.
저장된 공급자 OAuth/API key 인증은 마운트된
~/.openclaw/agents/<agentId>/agent/auth-profiles.json에 저장됩니다.Docker Compose 구성
docker-compose.yml을 만들거나 업데이트하세요.--allow-unconfigured는 bootstrap 편의를 위한 것일 뿐이며, 올바른 gateway 구성의 대체재가 아닙니다. 여전히 auth(gateway.auth.token 또는 password)를 설정하고 배포에 맞는 안전한 bind 설정을 사용하세요.공유 Docker VM 런타임 단계
공통 Docker 호스트 흐름에는 공유 런타임 가이드를 사용하세요:
GCP 전용 실행 참고
GCP에서 gateway 포트를 변경했다면
pnpm install --frozen-lockfile 중 Killed 또는 exit code 137로 빌드가 실패하면, VM 메모리가 부족한 것입니다. 최소 e2-small, 더 안정적인 첫 빌드를 위해서는 e2-medium을 사용하세요.LAN에 바인딩할 경우(OPENCLAW_GATEWAY_BIND=lan), 계속하기 전에 신뢰된 브라우저 origin을 구성하세요:18789를 구성한 포트로 바꾸세요.노트북에서 접근
Gateway 포트를 전달하도록 SSH 터널을 만드세요:브라우저에서 열기:UI가 shared-secret auth를 요청하면, 구성된 토큰 또는
비밀번호를 Control UI 설정에 붙여넣으세요. 이 Docker 흐름은 기본적으로 토큰을
작성합니다. 컨테이너 구성을 password auth로 바꿨다면 그
비밀번호를 대신 사용하세요.Control UI에 공유 persistence 및 업데이트 참조가 다시 필요하신가요?
Docker VM Runtime 및 Docker VM Runtime updates를 참조하세요.
http://127.0.0.1:18789/깔끔한 dashboard 링크 다시 출력:unauthorized 또는 disconnected (1008): pairing required가 표시되면, 브라우저 장치를 승인하세요:문제 해결
SSH 연결 거부됨 SSH 키 전파에는 VM 생성 후 1~2분이 걸릴 수 있습니다. 기다렸다가 다시 시도하세요. OS Login 문제 OS Login 프로필을 확인하세요:Killed 및 exit code 137로 실패하면 VM이 OOM으로 종료된 것입니다. e2-small(최소) 또는 e2-medium(안정적인 로컬 빌드 권장)으로 업그레이드하세요:
서비스 계정(보안 모범 사례)
개인 사용이라면 기본 사용자 계정으로 충분합니다. 자동화 또는 CI/CD 파이프라인에는 최소 권한만 가진 전용 서비스 계정을 만드세요:-
서비스 계정 생성:
-
Compute Instance Admin 역할(또는 더 좁은 사용자 지정 역할) 부여:
다음 단계
- 메시징 채널 설정: Channels
- 로컬 장치를 노드로 페어링: Nodes
- Gateway 구성: Gateway configuration