在 Oracle Cloud (OCI) 上部署 OpenClaw
想找個地方讓你的 OpenClaw Gateway 24 小時不間斷運行,但又不想為了這點小事每個月付錢給雲端供應商?或者是好不容易架好了伺服器,卻整天擔心公網 IP 被掃描、暴力破解?這大概是每個開發者都會遇到的煩惱。
Oracle Cloud 的 Always Free 方案提供非常慷慨的資源,雖然它的申請過程有時候會讓你抓狂,但只要成功拿到了帳號,它就是目前最推薦的免費託管方案。
需要準備的東西
Section titled “需要準備的東西”- Oracle Cloud 帳號(註冊)— 如果遇到問題可以參考 社群註冊指南
- Tailscale 帳號(在 tailscale.com 免費註冊)
- 基本的 Linux 命令行操作能力
- 大約 30 分鐘的時間
在開始之前,我們先看看為什麼選 Oracle Cloud。比起其他付費方案,它的免費額度非常驚人:
| Provider | Plan | Specs | Price/mo | Notes |
|---|---|---|---|---|
| Oracle Cloud | Always Free ARM | up to 4 OCPU, 24GB RAM | $0 | ARM, limited capacity |
| Hetzner | CX22 | 2 vCPU, 4GB RAM | ~ $4 | 最便宜的付費選項 |
| DigitalOcean | Basic | 1 vCPU, 1GB RAM | $6 | UI 簡單,文件豐富 |
| Vultr | Cloud Compute | 1 vCPU, 1GB RAM | $6 | 機房位置多 |
| Linode | Nanode | 1 vCPU, 1GB RAM | $5 | 現在是 Akamai 的一部分 |
1) 建立 OCI Instance
Section titled “1) 建立 OCI Instance”- 登入 Oracle Cloud Console
- 點擊 Compute → Instances → Create Instance
- 按照以下配置:
- Name:
openclaw - Image: Ubuntu 24.04 (aarch64)
- Shape:
VM.Standard.A1.Flex(Ampere ARM) - OCPUs: 2 (最多可選 4)
- Memory: 12 GB (最多可選 24 GB)
- Boot volume: 50 GB (免費額度最高 200 GB)
- SSH key: 加入你的公鑰
- Name:
- 點擊 Create
- 記下你的公網 IP 地址
小撇步: 如果建立失敗並顯示 “Out of capacity”,請嘗試換一個 Availability Domain 或晚點再試。免費層級的容量有限,有時候需要碰運氣。
2) 連線與更新
Section titled “2) 連線與更新”# 使用公網 IP 連線ssh ubuntu@YOUR_PUBLIC_IP
# 更新系統sudo apt update && sudo apt upgrade -ysudo apt install -y build-essential注意: build-essential 是必須的,因為 ARM 架構在編譯某些依賴時會用到。
3) 設定使用者與 Hostname
Section titled “3) 設定使用者與 Hostname”# 設定 hostnamesudo hostnamectl set-hostname openclaw
# 為 ubuntu 使用者設定密碼sudo passwd ubuntu
# 啟用 lingering(確保登出後服務繼續執行)sudo loginctl enable-linger ubuntu4) 安裝 Tailscale
Section titled “4) 安裝 Tailscale”curl -fsSL https://tailscale.com/install.sh | shsudo tailscale up --ssh --hostname=openclaw這會啟用 Tailscale SSH,之後你就可以從 tailnet 上的任何裝置直接透過 ssh openclaw 連線,不再需要公網 IP。
檢查狀態:
tailscale status從現在起,建議改用 Tailscale 連線: ssh ubuntu@openclaw。
5) 安裝 OpenClaw
Section titled “5) 安裝 OpenClaw”curl -fsSL https://openclaw.ai/install.sh | bashsource ~/.bashrc當系統詢問 “How do you want to hatch your bot?” 時,請選擇 “Do this later”。
6) 配置 Gateway 與 Tailscale Serve
Section titled “6) 配置 Gateway 與 Tailscale Serve”我們將使用 token auth 作為預設驗證方式,這比調整 Control UI 的 flag 更安全且可預測。
# 讓 Gateway 只監聽在 VM 內部openclaw config set gateway.bind loopback
# 為 Gateway 和 Control UI 要求 token 驗證openclaw config set gateway.auth.mode tokenopenclaw doctor --generate-gateway-token
# 透過 Tailscale Serve 暴露服務(自動處理 HTTPS)openclaw config set gateway.tailscale.mode serveopenclaw config set gateway.trustedProxies '["127.0.0.1"]'
systemctl --user restart openclaw-gateway7) 驗證設定
Section titled “7) 驗證設定”# 檢查版本openclaw --version
# 檢查守護進程狀態systemctl --user status openclaw-gateway
# 檢查 Tailscale Serve 狀態tailscale serve status
# 測試本地回應curl http://localhost:187898) 鎖定 VCN 安全設定
Section titled “8) 鎖定 VCN 安全設定”既然一切都正常運作了,現在去鎖定 VCN,阻擋除了 Tailscale 以外的所有流量。OCI 的 Virtual Cloud Network 就像是網路邊緣的防火牆,會在流量到達你的 Instance 之前就攔截它。
- 在 OCI Console 進入 Networking → Virtual Cloud Networks
- 點擊你的 VCN → Security Lists → Default Security List
- 刪除所有 Ingress Rules,只保留:
0.0.0.0/0 UDP 41641(Tailscale 使用)
- 保留預設的 Egress Rules(允許所有流出流量)
這樣會從網路邊緣阻擋 22 端口 (SSH)、HTTP、HTTPS 等所有存取。以後你只能透過 Tailscale 連線。
存取 Control UI
Section titled “存取 Control UI”在你的 Tailscale 網路中的任何裝置上打開瀏覽器:
https://openclaw.<tailnet-name>.ts.net/將 <tailnet-name> 替換成你的 tailnet 名稱(可以在 tailscale status 中看到)。你不需要設定 SSH tunnel,Tailscale 已經幫你搞定了 HTTPS 加密和身份驗證。
安全性:VCN + Tailscale 推薦配置
Section titled “安全性:VCN + Tailscale 推薦配置”當你把 VCN 鎖定(只開 UDP 41641)並將 Gateway 綁定到 loopback 時,你獲得了極強的深度防禦。公網流量在網路邊緣就被擋掉,只有你的 tailnet 成員可以進行管理。
在這種架構下,你通常不再需要為了防範 SSH 暴力破解而做額外設定:
| 傳統步驟 | 是否需要? | 原因 |
|---|---|---|
| UFW 防火牆 | 不需要 | VCN 在流量到達前就攔截了 |
| fail2ban | 不需要 | VCN 擋住了 22 端口,根本沒有暴力破解的機會 |
| sshd 硬化 | 不需要 | Tailscale SSH 不使用系統的 sshd |
| 禁用 root 登入 | 不需要 | Tailscale 使用你的 Tailscale 身份,而非系統帳號 |
仍然建議的操作
Section titled “仍然建議的操作”- 權限控管:
chmod 700 ~/.openclaw - 安全審計: 執行
openclaw security audit - 系統更新: 定期跑
sudo apt update && sudo apt upgrade - 監控 Tailscale: 在 Tailscale 管理後台 檢查裝置
Instance 建立失敗 (“Out of capacity”)
Section titled “Instance 建立失敗 (“Out of capacity”)”Free tier 的 ARM 資源非常搶手。你可以試試:
- 更換 Availability Domain
- 在離峰時段(例如清晨)重試
- 確保在選擇 Shape 時勾選了 “Always Free” 過濾器
Tailscale 無法連線
Section titled “Tailscale 無法連線”# 檢查狀態sudo tailscale status
# 重新驗證sudo tailscale up --ssh --hostname=openclaw --resetGateway 無法啟動
Section titled “Gateway 無法啟動”openclaw gateway statusopenclaw doctor --non-interactivejournalctl --user -u openclaw-gateway -n 50ARM 二進制文件問題
Section titled “ARM 二進制文件問題”雖然大部分 npm 套件都能正常運作,但如果遇到二進制文件報錯,請確認你的架構:
uname -m # 應該顯示 aarch64請尋找標註為 linux-arm64 或 aarch64 的版本。
Persistence
Section titled “Persistence”所有的資料都儲存在以下路徑,請記得定期備份:
~/.openclaw/— 配置、憑證、Session 資料~/.openclaw/workspace/— 工作區 (SOUL.md, 記憶, 產出物)
備份指令:
tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace有任何設定上的問題嗎?可以直接詢問 AI Setup Assistant。
- Gateway 遠端存取 — 其他遠端連線模式
- Tailscale 整合詳解 — 完整的 Tailscale 文件
- Gateway 配置選項 — 所有 config 參數
- DigitalOcean 部署指南 — 如果你想要付費且更簡單的註冊流程
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。