Render에서 Infrastructure as Code로 OpenClaw 배포하기
서버를 배포할 때마다 매번 수동으로 환경 변수를 설정하고 디스크를 연결하는 과정은 꽤나 번거로운 일이에요. 로컬 환경과 서버 환경이 달라 발생하는 오류를 잡느라 시간을 허비하다 보면, 인프라 자체를 코드로 관리하고 싶다는 생각이 절실해지곤 합니다.
OpenClaw는 Infrastructure as Code 방식을 지원해서 이런 고민을 해결해 줍니다. render.yaml Blueprint 파일을 사용하면 서비스 구성부터 디스크, 환경 변수까지 한 번에 정의할 수 있어 클릭 몇 번만으로 안정적인 배포가 가능합니다.
필요한 것
섹션 제목: “필요한 것”시작하기 전에 다음 항목이 준비되었는지 확인해 주세요.
- Render 계정 (무료 플랜 사용 가능)
- 선호하는 Model Provider의 API Key
빠른 시작
섹션 제목: “빠른 시작”5분 안에 OpenClaw를 배포하는 방법입니다.
- 배포 버튼 클릭: 아래 링크를 클릭하면 Render 배포 화면으로 이동합니다. Deploy to Render
- 비밀번호 설정: 화면의 안내에 따라
SETUP_PASSWORD를 입력하세요. - 자동 빌드 및 배포: Render가 Docker 이미지를 빌드하고 서비스를 실행합니다.
배포가 완료되면 https://YOUR-SERVICE.onrender.com 주소로 접속할 수 있습니다.
Understanding the Blueprint
섹션 제목: “Understanding the Blueprint”이 저장소에 포함된 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 # 보안 토큰을 자동 생성함 disk: name: openclaw-data mountPath: /data sizeGB: 1이 Blueprint에서 주목할 주요 기능입니다.
runtime: docker: 별도의 설정 없이 저장소의 Dockerfile을 사용하여 빌드합니다.healthCheckPath: Render가/health경로를 주기적으로 확인하여 서비스 상태를 관리합니다.sync: false: 비밀번호와 같은 민감한 정보는 배포 과정에서 직접 입력받도록 설정합니다.disk: 재배포 시에도 데이터가 유지되도록 영구 저장소를 연결합니다.
Choosing a plan
섹션 제목: “Choosing a plan”용도에 맞는 플랜을 선택해 보세요. Blueprint의 기본 설정은 starter입니다.
| Plan | Spin-down | Disk | Best for |
|---|---|---|---|
| Free | 15분 미사용 시 중단 | 지원 안 함 | 테스트, 데모용 |
| Starter | 중단 없음 | 1GB 이상 | 개인용, 소규모 팀 |
| Standard+ | 중단 없음 | 1GB 이상 | 프로덕션, 다중 채널 운영 |
무료 플랜을 사용하려면 render.yaml에서 plan: free로 수정하면 됩니다. 다만, 영구 Disk를 사용할 수 없어 배포할 때마다 설정이 초기화된다는 점을 기억해 주세요.
After deployment
섹션 제목: “After deployment”Setup Wizard 완료하기
섹션 제목: “Setup Wizard 완료하기”https://YOUR-SERVICE.onrender.com/setup으로 접속하세요.- 설정한
SETUP_PASSWORD를 입력합니다. - Model Provider를 선택하고 API Key를 입력하세요.
- 필요한 경우 메시지 채널(Telegram, Discord 등)을 설정한 뒤 Run setup을 클릭합니다.
Control UI 접속
섹션 제목: “Control UI 접속”모든 설정이 끝나면 https://YOUR-SERVICE.onrender.com/openclaw에서 대시보드를 사용할 수 있습니다.
Render Dashboard features
섹션 제목: “Render Dashboard features”- Logs: Dashboard → 서비스 선택 → Logs에서 실시간 로그를 확인하세요. Docker 이미지 생성 과정이나 앱 출력 로그를 필터링해서 볼 수 있습니다.
- Shell: 디버깅이 필요할 때 직접 접속할 수 있습니다. 영구 Disk는
/data경로에 마운트되어 있습니다. - Environment variables: 설정값을 변경하면 자동으로 다시 배포됩니다.
- Auto-deploy: 원본 OpenClaw 저장소를 그대로 사용하는 경우 자동 배포가 작동하지 않습니다. 업데이트가 필요하면 Dashboard에서 Blueprint를 수동으로 동기화하세요.
Backups and migration
섹션 제목: “Backups and migration”언제든지 아래 경로를 통해 설정과 워크스페이스를 백업할 수 있습니다.
https://YOUR-SERVICE.onrender.com/setup/export다운로드한 파일은 다른 OpenClaw 호스트에서 그대로 복구할 수 있어 이전이 간편합니다.
문제 해결
섹션 제목: “문제 해결”서비스가 시작되지 않아요
섹션 제목: “서비스가 시작되지 않아요”Render Dashboard의 배포 로그를 확인해 보세요.
SETUP_PASSWORD가 제대로 설정되었는지 확인이 필요합니다.PORT=8080설정이 Dockerfile의 포트와 일치하는지 확인하세요.
첫 접속이 너무 느려요 (무료 플랜)
섹션 제목: “첫 접속이 너무 느려요 (무료 플랜)”무료 플랜은 15분 동안 요청이 없으면 서비스를 잠시 중단합니다. 다시 접속할 때 컨테이너가 새로 시작되느라 몇 초 정도 시간이 걸릴 수 있습니다. 항상 켜져 있는 상태를 원한다면 Starter 플랜을 추천합니다.
재배포 후에 데이터가 사라졌어요
섹션 제목: “재배포 후에 데이터가 사라졌어요”영구 Disk를 지원하지 않는 무료 플랜에서 발생하는 현상입니다. 유료 플랜으로 업그레이드하거나, /setup/export를 통해 주기적으로 데이터를 백업하세요.
Health check 실패
섹션 제목: “Health check 실패”Render가 /health 경로에서 30초 이내에 응답을 받지 못하면 배포 실패로 간주합니다. 컨테이너가 로컬에서 정상적으로 실행되는지 먼저 확인해 보세요.
더 자세한 도움이 필요하다면 AI Setup Assistant를 활용해 보세요.
다음 단계
섹션 제목: “다음 단계”OpenClaw Expert
아직 막혀 있나요?
이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.