Hosting

Oracle Cloud

在 Oracle Cloud 的 Always Free ARM 層級(最高 4 OCPU、24 GB RAM、200 GB 儲存空間)上免費執行持久的 OpenClaw Gateway。

先決條件

設定

  • 建立 OCI 執行個體

    1. 登入 Oracle Cloud Console
    2. 前往 Compute > Instances > Create Instance
    3. 設定:
      • 名稱: openclaw
      • 映像檔: Ubuntu 24.04 (aarch64)
      • 規格: VM.Standard.A1.Flex (Ampere ARM)
      • OCPUs: 2(或最高 4)
      • 記憶體: 12 GB(或最高 24 GB)
      • 開機磁碟區: 50 GB(免費最高 200 GB)
      • SSH 金鑰: 加入你的公開金鑰
    4. 按一下 Create,並記下公用 IP 位址。
  • 連線並更新系統

    ssh ubuntu@YOUR_PUBLIC_IP
    
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y build-essential
    

    build-essential 是某些相依項目在 ARM 上編譯所必需的。

  • 設定使用者與主機名稱

    sudo hostnamectl set-hostname openclaw
    sudo passwd ubuntu
    sudo loginctl enable-linger ubuntu
    

    啟用 linger 可讓使用者服務在登出後繼續執行。

  • 安裝 Tailscale

    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up --ssh --hostname=openclaw
    

    從現在開始,透過 Tailscale 連線:ssh ubuntu@openclaw

  • 安裝 OpenClaw

    curl -fsSL https://openclaw.ai/install.sh | bash
    source ~/.bashrc
    

    當系統提示「How do you want to hatch your bot?」時,選擇 Do this later

  • 設定 Gateway

    搭配 Tailscale Serve 使用權杖驗證,以提供安全的遠端存取。

    openclaw config set gateway.bind loopback
    openclaw config set gateway.auth.mode token
    openclaw doctor --generate-gateway-token
    openclaw config set gateway.tailscale.mode serve
    openclaw config set gateway.trustedProxies '["127.0.0.1"]'
    
    systemctl --user restart openclaw-gateway.service
    

    此處的 gateway.trustedProxies=["127.0.0.1"] 僅用於本機 Tailscale Serve 代理的轉送 IP/本機用戶端處理。這不是 gateway.auth.mode: "trusted-proxy"。在此設定中,差異檢視器路由會保持失敗關閉行為:沒有轉送代理標頭的原始 127.0.0.1 檢視器請求可能會回傳 Diff not found。若要使用附件,請使用 mode=file / mode=both;如果需要可分享的檢視器連結,請明確啟用遠端檢視器並設定 plugins.entries.diffs.config.viewerBaseUrl(或傳入代理 baseUrl)。

  • 鎖定 VCN 安全性

    在網路邊界封鎖除 Tailscale 以外的所有流量:

    1. 在 OCI Console 中前往 Networking > Virtual Cloud Networks
    2. 按一下你的 VCN,然後前往 Security Lists > Default Security List
    3. 移除0.0.0.0/0 UDP 41641 (Tailscale) 以外的所有輸入規則。
    4. 保留預設輸出規則(允許所有對外流量)。

    這會在網路邊界封鎖連接埠 22 上的 SSH、HTTP、HTTPS,以及其他所有流量。從此時開始,你只能透過 Tailscale 連線。

  • 驗證

    openclaw --version
    systemctl --user status openclaw-gateway.service
    tailscale serve status
    curl http://localhost:18789
    

    從 tailnet 上的任何裝置存取控制 UI:

    https://openclaw.<tailnet-name>.ts.net/
    

    <tailnet-name> 替換為你的 tailnet 名稱(可在 tailscale status 中看到)。

  • 驗證安全態勢

    在 VCN 已鎖定(僅開放 UDP 41641)且 Gateway 繫結至 loopback 的情況下,公用流量會在網路邊界被封鎖,管理存取僅限 tailnet。這讓多個傳統 VPS 強化步驟不再需要:

    傳統步驟 是否需要? 原因
    UFW 防火牆 VCN 會在流量到達執行個體前封鎖它。
    fail2ban 連接埠 22 在 VCN 被封鎖;沒有暴力破解攻擊面。
    sshd 強化 Tailscale SSH 不使用 sshd。
    停用 root 登入 Tailscale 依 tailnet 身分驗證,而不是系統使用者。
    僅允許 SSH 金鑰驗證 同上 — tailnet 身分會取代系統 SSH 金鑰。
    IPv6 強化 通常不需要 取決於 VCN/子網路設定;請驗證實際指派/暴露的內容。

    仍建議:

    • chmod 700 ~/.openclaw 以限制認證檔案權限。
    • openclaw security audit 以進行 OpenClaw 專用的態勢檢查。
    • 定期執行 sudo apt update && sudo apt upgrade 以套用 OS 修補程式。
    • 定期檢閱 Tailscale 管理控制台 中的裝置。

    快速驗證命令:

    # Confirm no public ports are listening
    sudo ss -tlnp | grep -v '127.0.0.1\|::1'
    
    # Verify Tailscale SSH is active
    tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"
    
    # Optional: disable sshd entirely once Tailscale SSH is confirmed working
    sudo systemctl disable --now ssh
    

    ARM 注意事項

    Always Free 層級是 ARM (aarch64)。大多數 OpenClaw 功能都能正常運作;少數原生二進位檔需要 ARM 建置:

    • Node.js、Telegram、WhatsApp (Baileys):純 JavaScript,沒有問題。
    • 大多數含原生程式碼的 npm 套件:有可用的預先建置 linux-arm64 成品。
    • 選用 CLI 輔助程式(例如 Skills 隨附的 Go/Rust 二進位檔):安裝前請確認是否有 aarch64 / linux-arm64 發行版本。

    使用 uname -m 驗證架構(應輸出 aarch64)。對於沒有 ARM 建置的二進位檔,請從原始碼安裝或略過。

    持久性與備份

    OpenClaw 狀態位於:

    • ~/.openclaw/openclaw.json、每個代理的 auth-profiles.json、頻道/提供者狀態,以及工作階段資料。
    • ~/.openclaw/workspace/ — 代理工作區(SOUL.md、記憶、成品)。

    這些會在重新開機後保留。若要建立可攜式快照:

    openclaw backup create
    

    備援方案:SSH 通道

    如果 Tailscale Serve 無法運作,請從你的本機電腦使用 SSH 通道:

    ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw
    

    然後開啟 http://localhost:18789

    疑難排解

    建立執行個體失敗(「Out of capacity」) -- 免費層級 ARM 執行個體很熱門。請嘗試不同的可用性網域,或在離峰時段重試。

    Tailscale 無法連線 -- 執行 sudo tailscale up --ssh --hostname=openclaw --reset 以重新驗證。

    Gateway 無法啟動 -- 執行 openclaw doctor --non-interactive,並使用 journalctl --user -u openclaw-gateway.service -n 50 檢查記錄。

    ARM 二進位檔問題 -- 大多數 npm 套件可在 ARM64 上運作。對於原生二進位檔,請尋找 linux-arm64aarch64 發行版本。使用 uname -m 驗證架構。

    後續步驟

    • 頻道 -- 連接 Telegram、WhatsApp、Discord,以及更多服務
    • Gateway 設定 -- 所有設定選項
    • 更新 -- 讓 OpenClaw 保持最新

    相關