메인 콘텐츠로 건너뛰기
Infrastructure as Code 방식으로 Render에 OpenClaw를 배포합니다. 함께 제공되는 render.yaml Blueprint가 서비스, 디스크, 환경 변수까지 전체 스택을 선언적으로 정의하므로, 한 번의 클릭으로 배포하고 인프라를 코드와 함께 버전 관리할 수 있습니다.

준비 사항

Render Blueprint로 배포

Deploy to Render 이 링크를 클릭하면 다음이 실행됩니다.
  1. 이 저장소 루트의 render.yaml Blueprint에서 새 Render 서비스를 만듭니다.
  2. SETUP_PASSWORD 입력을 요청합니다.
  3. Docker 이미지를 빌드하고 배포합니다.
배포가 끝나면 서비스 URL은 https://<service-name>.onrender.com 형식입니다.

Blueprint 이해하기

Render Blueprint는 인프라를 정의하는 YAML 파일입니다. 이 저장소의 render.yaml은 OpenClaw 실행에 필요한 모든 구성을 담고 있습니다.
services:
  - type: web
    name: openclaw
    runtime: docker
    plan: starter
    healthCheckPath: /health
    envVars:
      - key: PORT
        value: "8080"
      - key: SETUP_PASSWORD
        sync: false # prompts during deploy
      - key: OPENCLAW_STATE_DIR
        value: /data/.openclaw
      - key: OPENCLAW_WORKSPACE_DIR
        value: /data/workspace
      - key: OPENCLAW_GATEWAY_TOKEN
        generateValue: true # auto-generates a secure token
    disk:
      name: openclaw-data
      mountPath: /data
      sizeGB: 1
사용된 주요 Blueprint 기능:
FeaturePurpose
runtime: docker저장소의 Dockerfile로 빌드
healthCheckPathRender가 /health를 감시하고 비정상 인스턴스를 재시작
sync: false배포 중 값 입력 요청(secret)
generateValue: true암호학적으로 안전한 값 자동 생성
disk재배포 후에도 유지되는 영구 스토리지

플랜 선택

PlanSpin-downDiskBest for
Free15분 유휴 후사용 불가테스트, 데모
Starter없음1GB+개인 사용, 소규모 팀
Standard+없음1GB+운영 환경, 여러 채널
Blueprint 기본값은 starter입니다. 무료 티어를 쓰려면 포크한 저장소의 render.yaml에서 plan: free로 바꾸세요. 단, 영구 디스크가 없어서 배포할 때마다 설정이 초기화됩니다.

배포 후

설정 wizard 완료

  1. https://<your-service>.onrender.com/setup으로 이동합니다.
  2. SETUP_PASSWORD를 입력합니다.
  3. model provider를 고르고 API key를 붙여 넣습니다.
  4. 필요하면 메시징 채널(Telegram, Discord, Slack)을 설정합니다.
  5. Run setup을 클릭합니다.

Control UI 접근

웹 대시보드는 https://<your-service>.onrender.com/openclaw에서 열 수 있습니다.

Render Dashboard 기능

Logs

실시간 로그는 Dashboard → your service → Logs에서 확인합니다. 다음 로그를 구분해 볼 수 있습니다.
  • Build logs(Docker 이미지 생성)
  • Deploy logs(서비스 시작)
  • Runtime logs(애플리케이션 출력)

Shell access

디버깅용 shell 세션은 Dashboard → your service → Shell에서 열 수 있습니다. persistent disk는 /data에 마운트됩니다.

Environment variables

변수 수정은 Dashboard → your service → Environment에서 합니다. 변경하면 자동으로 재배포가 트리거됩니다.

Auto-deploy

원본 OpenClaw 저장소를 그대로 사용하면 Render가 OpenClaw를 자동 배포하지는 않습니다. 업데이트하려면 대시보드에서 수동 Blueprint sync를 실행하세요.

Custom domain

  1. Dashboard → your service → Settings → Custom Domains로 이동합니다.
  2. 도메인을 추가합니다.
  3. 안내에 따라 DNS를 설정합니다(*.onrender.com으로 CNAME).
  4. Render가 TLS 인증서를 자동 발급합니다.

스케일링

Render는 수평/수직 확장을 모두 지원합니다.
  • Vertical: plan을 올려 CPU/RAM 증설
  • Horizontal: 인스턴스 수 증가(Standard 이상)
OpenClaw는 보통 수직 확장만으로 충분합니다. 수평 확장에는 sticky session이나 외부 상태 관리가 필요합니다.

백업과 마이그레이션

설정과 workspace는 언제든지 내보낼 수 있습니다.
https://<your-service>.onrender.com/setup/export
이 주소는 어떤 OpenClaw 호스트에도 복원할 수 있는 portable backup을 내려줍니다.

문제 해결

서비스가 시작되지 않음

Render Dashboard의 deploy log를 확인하세요. 흔한 원인은 다음과 같습니다.
  • SETUP_PASSWORD 누락: Blueprint가 입력을 요청하지만 실제로 설정됐는지 확인 필요
  • 포트 불일치: PORT=8080이 Dockerfile의 노출 포트와 일치하는지 확인

느린 cold start(무료 티어)

무료 티어 서비스는 15분 동안 유휴 상태이면 내려갑니다. 그다음 첫 요청은 컨테이너가 뜰 때까지 몇 초 걸릴 수 있습니다. 항상 켜진 환경이 필요하면 Starter plan으로 올리세요.

재배포 후 데이터 손실

무료 티어에서 발생합니다. 영구 디스크가 없기 때문입니다. 유료 플랜으로 올리거나 /setup/export로 설정을 정기적으로 내보내세요.

Health check 실패

Render는 /health에서 30초 안에 200 응답을 기대합니다. 빌드는 성공했는데 배포가 실패하면 서비스 시작이 너무 오래 걸리는 것일 수 있습니다. 다음을 확인하세요.
  • Build log에 오류가 없는지
  • docker build && docker run으로 로컬에서 컨테이너가 정상 실행되는지