---
read_when:
    - Render에 OpenClaw를 배포하는 경우
    - Render Blueprints로 선언적 클라우드 배포를 원하는 경우
summary: Infrastructure-as-Code로 Render에 OpenClaw 배포
title: Render
x-i18n:
    generated_at: "2026-04-05T12:47:25Z"
    model: gpt-5.4
    provider: openai
    source_hash: 379297f0298ddac0c1c657695f52619bb482f7b76d358e765880726f6f558c88
    source_path: install/render.mdx
    workflow: 15
---

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

## 사전 요구 사항

- [Render 계정](https://render.com) (무료 티어 사용 가능)
- 선호하는 [모델 provider](/providers)의 API 키

## Render Blueprint로 배포

[Deploy to Render](https://render.com/deploy?repo=https://github.com/openclaw/openclaw)

이 링크를 클릭하면 다음이 수행됩니다.

1. 이 리포지토리 루트의 `render.yaml` Blueprint에서 새 Render 서비스를 생성합니다.
2. Docker 이미지를 빌드하고 배포합니다.

배포가 완료되면 서비스 URL은 `https://<service-name>.onrender.com` 형식을 따릅니다.

## Blueprint 이해하기

Render Blueprints는 인프라를 정의하는 YAML 파일입니다. 이 리포지토리의 `render.yaml`은 OpenClaw 실행에 필요한 모든 것을 구성합니다.

```yaml
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 접근

웹 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를 내보낼 수 있습니다.

```bash
openclaw backup create
```

이 명령은 OpenClaw 상태와 구성된 workspace를 포함한 이식 가능한 백업 아카이브를 생성합니다. 자세한 내용은 [백업](/cli/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 구성](/gateway/configuration)
- OpenClaw 최신 상태 유지: [업데이트](/install/updating)
