在 Render 上透過 Infrastructure as Code 部署 OpenClaw
每次手動在雲端後台點選設定、逐個輸入環境變數,總是讓人擔心下次部署時會漏掉某個步驟。如果你希望基礎設施能像程式碼一樣被版本管理,且能一鍵完成所有服務、磁碟與變數配置,那麼使用 Infrastructure as Code (IaC) 是最理想的作法。
這篇文章會教你如何利用 Render 的 Blueprint 功能,快速把 OpenClaw 跑起來。
需要準備的東西
Section titled “需要準備的東西”透過 Render Blueprint,你可以在 5 分鐘內完成部署:
Deploy to Render
點擊上方連結後,Render 會執行以下動作:
- 根據專案根目錄的
render.yaml建立新的 Render 服務。 - 提示你設定
SETUP_PASSWORD。 - 自動構建 Docker image 並開始部署。
部署完成後,你的服務 URL 會是 https://<service-name>.onrender.com。
理解 Blueprint 配置
Section titled “理解 Blueprint 配置”Render Blueprint 使用 YAML 檔案來定義基礎設施。專案中的 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 # 自動產生安全的 token disk: name: openclaw-data mountPath: /data sizeGB: 1這份配置使用了幾個關鍵功能:
| 功能 | 用途 |
|---|---|
runtime: docker | 直接從 Repo 的 Dockerfile 進行構建 |
healthCheckPath | Render 會監控 /health,並自動重啟異常的實例 |
sync: false | 部署時會要求你輸入數值(適合處理敏感資訊) |
generateValue: true | 自動產生具備密碼學強度的隨機字串 |
disk | 提供持久化儲存,確保重新部署時資料不會遺失 |
| 方案 | 自動休眠 | 磁碟 (Disk) | 適用場景 |
|---|---|---|---|
| Free | 閒置 15 分鐘後休眠 | 不支援 | 測試、功能展示 |
| Starter | 永不休眠 | 1GB+ | 個人使用、小型團隊 |
| Standard+ | 永不休眠 | 1GB+ | 正式環境、多渠道運行 |
Blueprint 預設使用 starter 方案。如果你想用免費版,請修改你 fork 後的 render.yaml 中的 plan: free(但要注意:沒有實體磁碟代表每次部署後設定都會重置)。
部署後的設定
Section titled “部署後的設定”完成設定精靈
Section titled “完成設定精靈”- 開啟
https://<你的服務名稱>.onrender.com/setup - 輸入你剛才設定的
SETUP_PASSWORD - 選擇模型提供者並貼上你的 API key
- 根據需要配置通訊軟體頻道(Telegram, Discord, Slack)
- 點擊 Run setup
進入控制介面
Section titled “進入控制介面”你可以透過 https://<你的服務名稱>.onrender.com/openclaw 存取網頁儀表板。
Render 後台功能
Section titled “Render 後台功能”- Logs: 在 Dashboard → 你的服務 → Logs 查看即時日誌,包含 Build、Deploy 與 Runtime 輸出。
- Shell: 需要偵錯時,可透過 Dashboard → 你的服務 → Shell 開啟終端機。持久化磁碟掛載在
/data。 - Environment: 在 Dashboard → 你的服務 → Environment 修改變數。儲存後會觸發自動重新部署。
- Auto-deploy: 如果你直接使用原始 Repo,Render 不會自動更新。你需要手動在後台執行 Blueprint 同步。
自定義網域與擴展
Section titled “自定義網域與擴展”- 在 Settings → Custom Domains 新增網域。
- 按照指示設定 DNS (CNAME 指向
*.onrender.com)。 - Render 會自動幫你處理 TLS 憑證。
如果需要更多資源,你可以調整方案(垂直擴展)來獲得更多 CPU/RAM。水平擴展(增加實例數量)則需要處理 sticky sessions 或外部狀態管理。
你可以隨時匯出設定與工作區:
https://<你的服務名稱>.onrender.com/setup/export
這會下載一個備份檔,讓你能在任何 OpenClaw 主機上還原。
服務無法啟動
Section titled “服務無法啟動”請檢查 Render Dashboard 的部署日誌。常見原因包括:
- 漏掉
SETUP_PASSWORD:雖然 Blueprint 會提示,但請確認變數是否已正確寫入。 - Port 衝突:確認
PORT=8080與 Dockerfile 暴露的連接埠一致。
免費版啟動緩慢 (Cold Starts)
Section titled “免費版啟動緩慢 (Cold Starts)”Free 方案在閒置 15 分鐘後會休眠。休眠後的第一次請求會因為 Container 需要啟動而多花幾秒鐘。若要保持在線,請升級至 Starter 方案。
重新部署後資料遺失
Section titled “重新部署後資料遺失”這通常發生在 Free 方案,因為它不支援持久化磁碟。建議升級到付費方案,或定期透過 /setup/export 備份設定。
Health check 失敗
Section titled “Health check 失敗”Render 要求 /health 必須在 30 秒內回傳 200 狀態碼。如果構建成功但部署失敗,可能是服務啟動太慢。請檢查 Build logs 是否有報錯,或嘗試在本地執行 docker build && docker run 測試。
有任何部署問題嗎?試試我們的 AI Setup Assistant
What’s Next:
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。