Triển khai OpenClaw trên Render theo phương pháp Infrastructure as Code. File render.yaml Blueprint đi kèm sẽ khai báo toàn bộ hạ tầng — dịch vụ, ổ đĩa, biến môi trường — giúp bạn triển khai chỉ với một cú nhấp và quản lý hạ tầng ngay cạnh mã nguồn.

Yêu cầu trước khi bắt đầu

Triển khai bằng Render Blueprint

Deploy to Render

Khi nhấn vào liên kết này, Render sẽ:

  1. Tạo dịch vụ mới từ file render.yaml Blueprint nằm ở thư mục gốc repo.
  2. Yêu cầu bạn nhập SETUP_PASSWORD.
  3. Build Docker image rồi triển khai.

Sau khi triển khai xong, URL dịch vụ có dạng https://<service-name>.onrender.com.

Tìm hiểu Blueprint

Render Blueprint là file YAML mô tả hạ tầng của bạn. File render.yaml trong repo này cấu hình sẵn mọi thứ cần thiết để chạy OpenClaw:

services:
  - type: web
    name: openclaw
    runtime: docker
    plan: starter
    healthCheckPath: /health
    envVars:
      - key: PORT
        value: "8080"
      - key: SETUP_PASSWORD
        sync: false # prompts during deploy
      - key: OPENCLAW_STATE_DIR
        value: /data/.openclaw
      - key: OPENCLAW_WORKSPACE_DIR
        value: /data/workspace
      - key: OPENCLAW_GATEWAY_TOKEN
        generateValue: true # auto-generates a secure token
    disk:
      name: openclaw-data
      mountPath: /data
      sizeGB: 1

Các tính năng Blueprint được sử dụng:

Tính năngMục đích
runtime: dockerBuild từ Dockerfile trong repo
healthCheckPathRender theo dõi /health, tự khởi động lại nếu có sự cố
sync: falseYêu cầu nhập giá trị khi triển khai (dùng cho secret)
generateValue: trueTự sinh giá trị bảo mật bằng thuật toán mã hóa
diskLưu trữ bền vững, dữ liệu không mất sau mỗi lần triển khai

Chọn gói phù hợp

GóiTắt khi nhàn rỗiỔ đĩaPhù hợp với
FreeSau 15 phút không dùngKhông cóThử nghiệm, demo
StarterKhông bao giờTừ 1GBCá nhân, nhóm nhỏ
Standard+Không bao giờTừ 1GBProduction, nhiều kênh chat

Blueprint mặc định dùng gói starter. Muốn dùng gói miễn phí thì sửa plan: free trong file render.yaml của fork — nhưng lưu ý: không có ổ đĩa bền vững đồng nghĩa cấu hình sẽ bị reset mỗi lần triển khai.

Sau khi triển khai

Hoàn tất trình hướng dẫn cài đặt

  1. Truy cập https://<your-service>.onrender.com/setup
  2. Nhập SETUP_PASSWORD
  3. Chọn nhà cung cấp mô hình rồi dán API key
  4. Tùy chọn: cấu hình kênh nhắn tin (Telegram, Discord, Slack)
  5. Nhấn Run setup

Truy cập giao diện điều khiển

Bảng điều khiển web nằm tại https://<your-service>.onrender.com/openclaw.

Các tính năng trên Render Dashboard

Nhật ký (Logs)

Xem nhật ký theo thời gian thực tại Dashboard → dịch vụ của bạn → Logs. Có thể lọc theo:

  • Build logs (quá trình tạo Docker image)
  • Deploy logs (khởi động dịch vụ)
  • Runtime logs (đầu ra ứng dụng)

Truy cập Shell

Để debug, mở phiên shell qua Dashboard → dịch vụ của bạn → Shell. Ổ đĩa bền vững được gắn tại /data.

Biến môi trường

Chỉnh sửa biến tại Dashboard → dịch vụ của bạn → Environment. Mỗi thay đổi sẽ tự động kích hoạt triển khai lại.

Tự động triển khai

Nếu bạn dùng repo gốc của OpenClaw, Render sẽ không tự động triển khai phiên bản mới. Muốn cập nhật, hãy chạy Blueprint sync thủ công từ dashboard.

Tên miền riêng

  1. Vào Dashboard → dịch vụ của bạn → Settings → Custom Domains
  2. Thêm tên miền
  3. Cấu hình DNS theo hướng dẫn (CNAME trỏ về *.onrender.com)
  4. Render sẽ tự động cấp chứng chỉ TLS

Mở rộng quy mô

Render hỗ trợ mở rộng theo cả chiều dọc lẫn chiều ngang:

  • Chiều dọc: Nâng gói để có thêm CPU/RAM
  • Chiều ngang: Tăng số lượng instance (từ gói Standard trở lên)

Với OpenClaw, mở rộng chiều dọc thường là đủ. Mở rộng chiều ngang đòi hỏi sticky session hoặc quản lý trạng thái bên ngoài.

Sao lưu và di chuyển

Xuất cấu hình và workspace bất cứ lúc nào tại:

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

File tải về là bản sao lưu di động, có thể khôi phục trên bất kỳ máy chủ OpenClaw nào.

Xử lý sự cố

Dịch vụ không khởi động được

Kiểm tra deploy logs trên Render Dashboard. Các lỗi thường gặp:

  • Thiếu SETUP_PASSWORD — Blueprint sẽ hỏi giá trị này khi triển khai, nhưng hãy kiểm tra lại xem đã đặt chưa
  • Sai cổng — đảm bảo PORT=8080 khớp với cổng trong Dockerfile

Khởi động chậm (gói miễn phí)

Dịch vụ gói miễn phí tự tắt sau 15 phút không có hoạt động. Yêu cầu đầu tiên sau khi tắt sẽ mất vài giây để container khởi động lại. Nâng lên gói Starter để dịch vụ luôn chạy.

Mất dữ liệu sau khi triển khai lại

Vấn đề này xảy ra ở gói miễn phí vì không có ổ đĩa bền vững. Nâng lên gói trả phí, hoặc thường xuyên xuất cấu hình qua /setup/export.

Health check thất bại

Render yêu cầu endpoint /health trả về mã 200 trong vòng 30 giây. Nếu build thành công nhưng deploy thất bại, có thể dịch vụ đang khởi động quá lâu. Kiểm tra:

  • Build logs xem có lỗi không
  • Thử chạy container trên máy local bằng docker build && docker run