Infrastructure as Code를 사용하여 Render에 OpenClaw를 배포하세요. 포함된 render.yaml Blueprint는 서비스, 디스크, 환경 변수 등 전체 스택을 선언적으로 정의하므로 한 번의 클릭으로 배포하고 코드와 함께 인프라를 버전 관리할 수 있습니다.

사전 요구 사항

Render Blueprint로 배포

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          # 배포 중 프롬프트
      - key: OPENCLAW_STATE_DIR
        value: /data/.openclaw
      - key: OPENCLAW_WORKSPACE_DIR
        value: /data/workspace
      - key: OPENCLAW_GATEWAY_TOKEN
        generateValue: true  # 안전한 Token 자동 생성
    disk:
      name: openclaw-data
      mountPath: /data
      sizeGB: 1

사용되는 주요 Blueprint 기능:

기능목적
runtime: docker리포지토리의 Dockerfile에서 빌드
healthCheckPathRender가 /health를 모니터링하고 비정상 인스턴스를 다시 시작
sync: false배포 중 값 입력 요청 (비밀)
generateValue: true암호화 방식으로 안전한 값 자동 생성
disk재배포 후에도 유지되는 영구 저장소

플랜 선택

플랜스핀다운디스크최적
Free15분 유휴 후사용 불가테스트, 데모
Starter없음1GB+개인 사용, 소규모 팀
Standard+없음1GB+프로덕션, 여러 Channel

Blueprint는 기본적으로 starter입니다. 무료 티어를 사용하려면 포크된 render.yaml에서 plan: free로 변경하세요 (단, 영구 디스크가 없으므로 각 배포 시 설정이 재설정됩니다).

배포 후

설정 마법사 완료

  1. https://<your-service>.onrender.com/setup으로 이동합니다
  2. SETUP_PASSWORD를 입력합니다
  3. 모델 Provider를 선택하고 API 키를 붙여넣습니다
  4. 선택적으로 메시징 Channel을 구성합니다 (Telegram, Discord, Slack)
  5. Run setup을 클릭합니다

Control UI 액세스

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

Render 대시보드 기능

로그

Dashboard → 서비스 → Logs에서 실시간 로그를 확인하세요. 필터링 기준:

  • 빌드 로그 (Docker 이미지 생성)
  • 배포 로그 (서비스 시작)
  • 런타임 로그 (애플리케이션 출력)

Shell 액세스

디버깅을 위해 Dashboard → 서비스 → Shell을 통해 Shell 세션을 엽니다. 영구 디스크는 /data에 마운트됩니다.

환경 변수

Dashboard → 서비스 → Environment에서 변수를 수정합니다. 변경 사항은 자동 재배포를 트리거합니다.

자동 배포

원본 OpenClaw 리포지토리를 사용하는 경우 Render는 OpenClaw를 자동으로 배포하지 않습니다. 업데이트하려면 대시보드에서 수동 Blueprint 동기화를 실행하세요.

사용자 정의 도메인

  1. Dashboard → 서비스 → Settings → Custom Domains로 이동합니다
  2. 도메인을 추가합니다
  3. 지시에 따라 DNS를 구성합니다 (*.onrender.com에 대한 CNAME)
  4. Render가 TLS 인증서를 자동으로 프로비저닝합니다

확장

Render는 수평 및 수직 확장을 지원합니다:

  • 수직: 플랜을 변경하여 더 많은 CPU/RAM 얻기
  • 수평: 인스턴스 수 증가 (Standard 플랜 이상)

OpenClaw의 경우 수직 확장이 일반적으로 충분합니다. 수평 확장에는 고정 Session 또는 외부 상태 관리가 필요합니다.

백업 및 마이그레이션

언제든지 설정과 Workspace를 내보냅니다:

https://<your-service>.onrender.com/setup/export

이렇게 하면 모든 OpenClaw 호스트에서 복원할 수 있는 이식 가능한 백업을 다운로드합니다.

문제 해결

서비스가 시작되지 않음

Render 대시보드에서 배포 로그를 확인하세요. 일반적인 문제:

  • 누락된 SETUP_PASSWORD — Blueprint가 이를 요청하지만 설정되었는지 확인하세요
  • 포트 불일치 — PORT=8080이 Dockerfile의 노출된 포트와 일치하는지 확인하세요

느린 콜드 스타트 (무료 티어)

무료 티어 서비스는 15분의 비활성 후 스핀다운됩니다. 스핀다운 후 첫 번째 요청은 컨테이너가 시작되는 동안 몇 초가 걸립니다. 항상 켜져 있으려면 Starter 플랜으로 업그레이드하세요.

재배포 후 데이터 손실

이는 무료 티어 (영구 디스크 없음)에서 발생합니다. 유료 플랜으로 업그레이드하거나 /setup/export를 통해 정기적으로 설정을 내보내세요.

상태 확인 실패

Render는 30초 이내에 /health에서 200 응답을 기대합니다. 빌드는 성공하지만 배포가 실패하는 경우 서비스가 시작하는 데 너무 오래 걸릴 수 있습니다. 확인:

  • 오류에 대한 빌드 로그
  • docker build && docker run으로 컨테이너가 로컬에서 실행되는지 여부