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

사전 요구 사항

Render Blueprint로 배포

Deploy to Render 이 링크를 클릭하면 다음이 수행됩니다.
  1. 이 리포지토리 루트의 render.yaml Blueprint에서 새 Render 서비스를 생성합니다.
  2. Docker 이미지를 빌드하고 배포합니다.
배포가 완료되면 서비스 URL은 https://<service-name>.onrender.com 형식을 따릅니다.

Blueprint 이해하기

Render Blueprints는 인프라를 정의하는 YAML 파일입니다. 이 리포지토리의 render.yaml은 OpenClaw 실행에 필요한 모든 것을 구성합니다.
services:
  - type: web
    name: openclaw
    runtime: docker
    plan: starter
    healthCheckPath: /health
    envVars:
      - key: OPENCLAW_GATEWAY_PORT
        value: "8080"
      - key: OPENCLAW_STATE_DIR
        value: /data/.openclaw
      - key: OPENCLAW_WORKSPACE_DIR
        value: /data/workspace
      - key: OPENCLAW_GATEWAY_TOKEN
        generateValue: true # 안전한 토큰 자동 생성
    disk:
      name: openclaw-data
      mountPath: /data
      sizeGB: 1
사용되는 주요 Blueprint 기능:
기능목적
runtime: docker리포지토리의 Dockerfile에서 빌드
healthCheckPathRender가 /health를 모니터링하고 비정상 인스턴스를 재시작
generateValue: true암호학적으로 안전한 값 자동 생성
disk재배포 후에도 유지되는 영구 스토리지

플랜 선택

플랜자동 중지디스크가장 적합한 용도
Free15분 유휴 후사용 불가테스트, 데모
Starter중지 안 함1GB+개인 사용, 소규모 팀
Standard+중지 안 함1GB+프로덕션, 다중 채널
Blueprint의 기본값은 starter입니다. 무료 티어를 사용하려면 포크한 리포지토리의 render.yaml에서 plan: free로 변경하세요(단, 영구 디스크가 없으므로 OpenClaw 상태는 배포할 때마다 초기화됩니다).

배포 후

Control UI 접근

웹 dashboard는 https://<your-service>.onrender.com/에서 사용할 수 있습니다. 구성된 shared secret으로 연결하세요. 이 배포 템플릿은 OPENCLAW_GATEWAY_TOKEN을 자동 생성합니다(Dashboard → your service → Environment에서 확인). 이를 password auth로 바꿨다면 대신 해당 비밀번호를 사용하세요.

Render Dashboard 기능

로그

Dashboard → your service → Logs에서 실시간 로그를 볼 수 있습니다. 다음 기준으로 필터링할 수 있습니다.
  • 빌드 로그(Docker 이미지 생성)
  • 배포 로그(서비스 시작)
  • 런타임 로그(애플리케이션 출력)

셸 액세스

디버깅을 위해 Dashboard → your service → Shell을 통해 셸 세션을 열 수 있습니다. 영구 디스크는 /data에 마운트됩니다.

환경 변수

Dashboard → your service → Environment에서 변수를 수정하세요. 변경 사항은 자동 재배포를 트리거합니다.

자동 배포

원본 OpenClaw 리포지토리를 사용하는 경우 Render는 OpenClaw를 자동 배포하지 않습니다. 업데이트하려면 dashboard에서 수동 Blueprint sync를 실행하세요.

사용자 지정 도메인

  1. Dashboard → your service → Settings → Custom Domains로 이동
  2. 도메인 추가
  3. 안내에 따라 DNS 구성(*.onrender.com에 대한 CNAME)
  4. Render가 TLS 인증서를 자동으로 프로비저닝

스케일링

Render는 수평 및 수직 스케일링을 지원합니다.
  • 수직: 더 많은 CPU/RAM을 얻기 위해 플랜 변경
  • 수평: 인스턴스 수 증가(Standard 플랜 이상)
OpenClaw의 경우 일반적으로 수직 스케일링이면 충분합니다. 수평 스케일링에는 sticky sessions 또는 외부 상태 관리가 필요합니다.

백업 및 마이그레이션

Render Dashboard의 셸 액세스를 사용해 언제든지 상태, config, auth profiles, workspace를 내보낼 수 있습니다.
openclaw backup create
이 명령은 OpenClaw 상태와 구성된 workspace를 포함한 이식 가능한 백업 아카이브를 생성합니다. 자세한 내용은 백업을 참조하세요.

문제 해결

서비스가 시작되지 않음

Render Dashboard에서 배포 로그를 확인하세요. 일반적인 문제:
  • OPENCLAW_GATEWAY_TOKEN 누락 — Dashboard → Environment에서 설정되었는지 확인
  • 포트 불일치 — Render가 기대하는 포트에 gateway가 바인딩되도록 OPENCLAW_GATEWAY_PORT=8080이 설정되었는지 확인

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

무료 티어 서비스는 15분 동안 유휴 상태이면 자동 중지됩니다. 중지 후 첫 요청은 컨테이너가 시작되는 동안 몇 초가 걸립니다. 항상 실행 상태를 원하면 Starter 플랜으로 업그레이드하세요.

재배포 후 데이터 손실

이는 무료 티어(영구 디스크 없음)에서 발생합니다. 유료 플랜으로 업그레이드하거나 Render 셸에서 openclaw backup create를 사용해 정기적으로 전체 백업을 내보내세요.

상태 확인 실패

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

다음 단계