Hosting
Render
Render
Infrastructure as Code를 사용해 Render에 OpenClaw을 배포합니다. 포함된 render.yaml Blueprint는 서비스, 디스크, 환경 변수까지 전체 스택을 선언적으로 정의하므로, 한 번의 클릭으로 배포하고 코드와 함께 인프라 버전을 관리할 수 있습니다.
사전 준비
- Render 계정(무료 티어 사용 가능)
- 선호하는 모델 provider의 API 키
Render Blueprint로 배포
이 링크를 클릭하면 다음이 수행됩니다:
- 이 저장소 루트의
render.yamlBlueprint에서 새 Render 서비스를 생성합니다. - 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: 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에서 빌드 |
healthCheckPath |
Render가 /health를 모니터링하고 비정상 인스턴스를 재시작 |
generateValue: true |
암호학적으로 안전한 값을 자동 생성 |
disk |
재배포 후에도 유지되는 영구 저장소 |
플랜 선택
| 플랜 | 자동 중지 | 디스크 | 적합한 용도 |
|---|---|---|---|
| Free | 15분 유휴 후 | 사용 불가 | 테스트, 데모 |
| Starter | 없음 | 1GB+ | 개인 사용, 소규모 팀 |
| Standard+ | 없음 | 1GB+ | 프로덕션, 여러 채널 |
Blueprint의 기본값은 starter입니다. 무료 티어를 사용하려면
포크한 저장소의 render.yaml에서 plan: free로 변경하세요(단, 영구 디스크가 없으므로 OpenClaw 상태가
배포할 때마다 초기화된다는 점에 유의하세요).
배포 후
Control UI 접속
웹 대시보드는 https://<your-service>.onrender.com/에서 사용할 수 있습니다.
구성된 공유 비밀을 사용해 연결하세요. 이 배포 템플릿은
OPENCLAW_GATEWAY_TOKEN을 자동 생성합니다(Dashboard → your service →
Environment에서 확인). 이를 비밀번호 인증으로 교체했다면 대신 해당 비밀번호를 사용하세요.
Render Dashboard 기능
로그
Dashboard → your service → Logs에서 실시간 로그를 볼 수 있습니다. 다음으로 필터링할 수 있습니다:
- 빌드 로그(Docker 이미지 생성)
- 배포 로그(서비스 시작)
- 런타임 로그(애플리케이션 출력)
Shell 접근
디버깅을 위해 Dashboard → your service → Shell을 통해 셸 세션을 열 수 있습니다. 영구 디스크는 /data에 마운트됩니다.
환경 변수
Dashboard → your service → Environment에서 변수를 수정합니다. 변경 사항은 자동 재배포를 트리거합니다.
자동 배포
원래 OpenClaw 저장소를 사용하는 경우, Render는 OpenClaw을 자동 배포하지 않습니다. 업데이트하려면 대시보드에서 수동 Blueprint 동기화를 실행하세요.
사용자 지정 도메인
- Dashboard → your service → Settings → Custom Domains로 이동합니다
- 도메인을 추가합니다
- 안내에 따라 DNS를 구성합니다(
*.onrender.com으로 CNAME) - Render가 TLS 인증서를 자동으로 프로비저닝합니다
스케일링
Render는 수평 및 수직 스케일링을 지원합니다:
- 수직: 더 많은 CPU/RAM을 얻기 위해 플랜 변경
- 수평: 인스턴스 수 증가(Standard 플랜 이상)
OpenClaw의 경우 일반적으로 수직 스케일링이면 충분합니다. 수평 스케일링에는 sticky session 또는 외부 상태 관리가 필요합니다.
백업 및 마이그레이션
Render Dashboard의 셸 접근을 사용해 언제든지 상태, 구성, auth profile, 워크스페이스를 내보낼 수 있습니다:
openclaw backup create
이 명령은 OpenClaw 상태와 구성된 워크스페이스를 포함하는 이식 가능한 백업 archive를 생성합니다. 자세한 내용은 Backup을 참조하세요.
문제 해결
서비스가 시작되지 않음
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으로 실행되는지
다음 단계
- 메시징 채널 설정: Channels
- Gateway 구성: Gateway configuration
- OpenClaw 최신 상태 유지: Updating