콘텐츠로 이동

GCP Compute Engine에서 Docker로 OpenClaw 운영하기 (Production 가이드)

집에서 쓰는 노트북으로 OpenClaw를 돌리다 보면 불편할 때가 많죠. 노트북을 끄면 서비스도 같이 멈추니까요. 저도 처음엔 제 맥북에서 돌렸는데, 밖에서 급하게 써야 할 때 연결이 안 돼서 당황했던 적이 한두 번이 아니에요.

그래서 저는 GCP(Google Cloud Platform)의 작은 VM을 하나 빌려서 24시간 내내 OpenClaw를 띄워둡니다. 한 달에 커피 두 잔 정도 가격($5~12)이면 나만의 비서가 잠들지 않고 대기하는 셈이죠. Docker를 사용해서 상태를 안전하게 유지하고, 재부팅해도 설정이 날아가지 않게 세팅하는 법을 알려드릴게요.

시작하기 전에 다음 항목들이 준비되었는지 확인해 주세요.

  • GCP 계정 (신규 가입 시 무료 크레딧을 줍니다)
  • gcloud CLI 설치 (또는 Cloud Console 사용)
  • 노트북에서 SSH 접속이 가능한 환경
  • Docker 및 Docker Compose
  • 사용할 Model의 API 키
  • 20~30분 정도의 여유 시간

이미 GCP와 Docker에 익숙하다면 이 순서대로 빠르게 진행하세요.

  1. GCP 프로젝트 생성 및 Compute Engine API 활성화
  2. VM 인스턴스 생성 (e2-small, Debian 12 추천)
  3. VM에 SSH 접속 후 Docker 설치
  4. OpenClaw 저장소 클론 및 디렉토리 생성
  5. .env와 docker-compose.yml 설정
  6. 필요한 Binary가 포함된 Docker Image 빌드 및 실행

먼저 GCP에서 OpenClaw를 담을 공간을 만들어야 합니다.

프로젝트 생성 및 설정:

Terminal window
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"
gcloud config set project my-openclaw-project
gcloud services enable compute.googleapis.com

VM 인스턴스 생성: 비용 효율적인 e2-small 사양을 추천합니다. e2-micro는 무료 티어지만 메모리가 부족해서 에러가 날 수 있어요.

Terminal window
gcloud compute instances create openclaw-gateway \
--zone=us-central1-a \
--machine-type=e2-small \
--boot-disk-size=20GB \
--image-family=debian-12 \
--image-project=debian-cloud

생성한 VM에 접속해서 Docker를 설치해 봅시다.

Terminal window
# SSH 접속
gcloud compute ssh openclaw-gateway --zone=us-central1-a
# Docker 설치 스크립트 실행
sudo apt-get update
sudo apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
exit

다시 접속해서 OpenClaw 저장소를 가져옵니다.

Terminal window
gcloud compute ssh openclaw-gateway --zone=us-central1-a
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# 데이터 보존을 위한 디렉토리 생성
mkdir -p ~/.openclaw/workspace

.env 파일을 만들어 중요한 설정값들을 넣어줍니다. OPENCLAW_GATEWAY_TOKEN은 나중에 접속할 때 필요하니 꼭 기억해 두세요.

Terminal window
# .env 파일 예시
OPENCLAW_IMAGE=openclaw:latest
OPENCLAW_GATEWAY_TOKEN=여러분의-비밀-토큰
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_CONFIG_DIR=/home/$USER/.openclaw
OPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace
GOG_KEYRING_PASSWORD=비밀번호설정
XDG_CONFIG_HOME=/home/node/.openclaw

4. Dockerfile에 Binary 포함하기 (중요)

섹션 제목: “4. Dockerfile에 Binary 포함하기 (중요)”

OpenClaw의 특정 기능(Gmail, WhatsApp 등)을 쓰려면 외부 Binary가 필요합니다. 컨테이너가 실행된 후에 설치하면 재시작할 때 다 사라지니, 빌드할 때 미리 구워넣어야 해요.

Dockerfile을 아래와 같은 패턴으로 수정하세요.

FROM node:22-bookworm
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
# Gmail CLI (gog) 설치 예시
RUN curl -L https://github.com/steipete/gog/releases/latest/download/gog_Linux_x86_64.tar.gz \
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/gog
# WhatsApp CLI (wacli) 설치 예시
RUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli_Linux_x86_64.tar.gz \
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/wacli
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
COPY ui/package.json ./ui/package.json
COPY scripts ./scripts
RUN corepack enable
RUN pnpm install --frozen-lockfile
COPY . .
RUN pnpm build
RUN pnpm ui:install
RUN pnpm ui:build
ENV NODE_ENV=production
CMD ["node","dist/index.js"]

이제 모든 준비가 끝났습니다. 컨테이너를 올리고 노트북에서 접속해 보세요.

Terminal window
docker compose build
docker compose up -d openclaw-gateway

보안을 위해 Gateway는 VM 내부에서만 돌게 설정했습니다. 노트북에서 안전하게 접속하려면 SSH 터널링을 사용하세요.

Terminal window
# 여러분의 노트북 터미널에서 실행
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789

이제 브라우저에서 http://127.0.0.1:18789/를 열면 OpenClaw Control UI가 나타납니다.


SSH 연결이 거부되나요? VM을 막 생성했다면 SSH 키가 등록되는 데 1~2분 정도 걸립니다. 잠시만 기다렸다가 다시 시도해 보세요.

메모리 부족(OOM) 에러가 나나요? e2-micro 인스턴스를 사용 중이라면 메모리가 1GB뿐이라 빌드 도중 멈출 수 있습니다. 인스턴스를 중지하고 e2-small 이상으로 사양을 올려보세요.

Binary가 작동하지 않나요? docker compose exec openclaw-gateway which gog 명령어로 경로가 제대로 나오는지 확인하세요. 나오지 않는다면 Dockerfile 수정 후 다시 빌드해야 합니다.

설정이 초기화되나요? docker-compose.yml의 volumes 설정이 호스트 디렉토리(~/.openclaw)와 잘 연결되었는지 확인하세요.


  • 메신저 연결하기: Channels
  • 다른 기기를 노드로 연결하기: Nodes

더 궁금한 점이 있거나 설치 중에 막힌다면 AI Setup Assistant에게 물어보세요. 바로 도와드릴 거예요.

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.