Hosting

Oracle Cloud

在 Oracle Cloud 的 Always Free ARM 方案(最高 4 OCPU、24 GB RAM、200 GB 儲存空間)上免費執行持續運作的 OpenClaw 閘道。

先決條件

設定

  • 建立 OCI 執行個體

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

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

    部分相依套件在 ARM 上編譯時需要 build-essential

  • 設定使用者與主機名稱

    bash
    sudo hostnamectl set-hostname openclawsudo passwd ubuntusudo loginctl enable-linger ubuntu

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

  • 安裝 Tailscale

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

    從現在起,請透過 Tailscale 連線:ssh ubuntu@openclaw

  • 安裝 OpenClaw

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

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

  • 設定閘道

    使用權杖驗證搭配 Tailscale Serve,以安全地進行遠端存取。

    bash
    openclaw config set gateway.bind loopbackopenclaw config set gateway.auth.mode tokenopenclaw doctor --generate-gateway-tokenopenclaw config set gateway.tailscale.mode serveopenclaw config set gateway.trustedProxies '["127.0.0.1"]' systemctl --user restart openclaw-gateway.service

    此處的 gateway.trustedProxies=["127.0.0.1"] 僅用於處理本機 Tailscale Serve Proxy 轉送的 IP/本機用戶端。它不是 gateway.auth.mode: "trusted-proxy"。在此設定中,差異檢視器路由會維持失敗時關閉的行為:不含轉送 Proxy 標頭的原始 127.0.0.1 檢視器要求會傳回 Diff not found。附件請使用 mode=file / mode=both;若需要可分享的檢視器連結,請有意識地啟用遠端檢視器並設定 plugins.entries.diffs.config.viewerBaseUrl(或傳入 Proxy 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 連線。

  • 驗證

    bash
    openclaw --versionsystemctl --user status openclaw-gateway.servicetailscale serve statuscurl http://localhost:18789

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

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

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

  • 驗證安全態勢

    鎖定 VCN(僅開放 UDP 41641)並將閘道繫結至回送介面後,公用流量會在網路邊界遭到封鎖,而管理存取僅限 tailnet。如此便不再需要數項傳統 VPS 強化措施:

    傳統步驟 是否需要? 原因
    UFW 防火牆 VCN 會在流量抵達執行個體前將其封鎖。
    fail2ban VCN 已封鎖連接埠 22,因此沒有暴力破解的攻擊面。
    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,以套用作業系統修補程式。
    • 定期在 Tailscale 管理主控台中檢視裝置。

    快速驗證命令:

    bash
    # 確認沒有公用連接埠正在監聽sudo ss -tlnp | grep -v '127.0.0.1\|::1' # 確認 Tailscale SSH 已啟用tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH 已啟用" # 選用:確認 Tailscale SSH 正常運作後,完全停用 sshdsudo systemctl disable --now ssh

    ARM 注意事項

    Always Free 方案採用 ARM(aarch64)。大多數 OpenClaw 功能皆可正常運作;少數原生二進位檔需要 ARM 組建版本:

    • Node.js、Telegram、WhatsApp(Baileys):純 JavaScript,沒有問題。
    • 大多數含原生程式碼的 npm 套件:已有預先建置的 linux-arm64 成品。
    • 選用命令列介面輔助工具(例如由 Skills 提供的 Go/Rust 二進位檔):安裝前請檢查是否有 aarch64 / linux-arm64 發行版本。

    使用 uname -m 驗證架構(應輸出 aarch64)。如果二進位檔沒有 ARM 組建版本,請從原始碼安裝或略過。

    持久性與備份

    OpenClaw 狀態位於:

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

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

    bash
    openclaw backup create

    備援方案:SSH 通道

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

    bash
    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 以重新驗證。

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

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

    後續步驟

    • 頻道 -- 連接 Telegram、WhatsApp、Discord 等服務
    • 閘道設定 -- 所有設定選項
    • 更新 -- 讓 OpenClaw 保持最新狀態

    相關內容

    Was this useful?
    On this page

    On this page