Hosting

Oracle Cloud

เรียกใช้ OpenClaw Gateway แบบถาวรบนระดับ ARM แบบ Always Free ของ Oracle Cloud (สูงสุด 4 OCPU, RAM 24 GB, พื้นที่จัดเก็บข้อมูล 200 GB) โดยไม่มีค่าใช้จ่าย

ข้อกำหนดเบื้องต้น

การตั้งค่า

  • สร้างอินสแตนซ์ OCI

    1. เข้าสู่ระบบ Oracle Cloud Console
    2. ไปที่ Compute > Instances > Create Instance
    3. กำหนดค่า:
      • 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: เพิ่มกุญแจสาธารณะของคุณ
    4. คลิก Create และจดที่อยู่ IP สาธารณะไว้
  • เชื่อมต่อและอัปเดตระบบ

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

    ต้องใช้ build-essential เพื่อคอมไพล์การขึ้นต่อกันบางรายการสำหรับ ARM

  • กำหนดค่าผู้ใช้และชื่อโฮสต์

    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

  • กำหนดค่า Gateway

    ใช้การยืนยันตัวตนด้วยโทเค็นร่วมกับ 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"] ในที่นี้ใช้เฉพาะสำหรับการจัดการ IP ที่ส่งต่อ/ไคลเอนต์ภายในเครื่องของพร็อกซี Tailscale Serve ภายในเครื่องเท่านั้น ซึ่ง ไม่ใช่ 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. ไปที่ Networking > Virtual Cloud Networks ใน OCI Console
    2. คลิก VCN ของคุณ จากนั้นไปที่ Security Lists > Default Security List
    3. Remove กฎขาเข้าทั้งหมด ยกเว้น 0.0.0.0/0 UDP 41641 (Tailscale)
    4. คงกฎขาออกเริ่มต้นไว้ (อนุญาตการรับส่งข้อมูลขาออกทั้งหมด)

    การดำเนินการนี้จะบล็อก SSH บนพอร์ต 22, HTTP, HTTPS และทุกอย่างอื่นที่ขอบเขตเครือข่าย จากจุดนี้เป็นต้นไป คุณจะเชื่อมต่อได้ผ่าน Tailscale เท่านั้น

  • ตรวจสอบ

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

    เข้าถึง UI ควบคุมจากอุปกรณ์ใดก็ได้บน tailnet ของคุณ:

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

    แทนที่ <tailnet-name> ด้วยชื่อ tailnet ของคุณ (ดูได้ใน tailscale status)

  • ตรวจสอบสถานะความปลอดภัย

    เมื่อจำกัด VCN แล้ว (เปิดเฉพาะ UDP 41641) และผูก Gateway กับ local 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 เป็นประจำเพื่อติดตั้งแพตช์ระบบปฏิบัติการ
    • ตรวจสอบอุปกรณ์ในคอนโซลผู้ดูแลระบบ Tailscale เป็นระยะ

    คำสั่งตรวจสอบอย่างรวดเร็ว:

    bash
    # ยืนยันว่าไม่มีพอร์ตสาธารณะกำลังรอรับการเชื่อมต่อsudo ss -tlnp | grep -v '127.0.0.1\|::1' # ตรวจสอบว่า Tailscale SSH ทำงานอยู่tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active" # ไม่บังคับ: ปิดใช้งาน sshd อย่างสมบูรณ์เมื่อยืนยันแล้วว่า Tailscale SSH ทำงานได้sudo systemctl disable --now ssh

    หมายเหตุเกี่ยวกับ ARM

    ระดับ Always Free ใช้ ARM (aarch64) ฟีเจอร์ส่วนใหญ่ของ OpenClaw ทำงานได้ตามปกติ แต่ไบนารีเนทีฟบางรายการจำเป็นต้องมีรุ่นที่สร้างสำหรับ ARM:

    • Node.js, Telegram, WhatsApp (Baileys): เป็น JavaScript ล้วน จึงไม่มีปัญหา
    • แพ็กเกจ npm ส่วนใหญ่ที่มีโค้ดเนทีฟ: มีอาร์ติแฟกต์ linux-arm64 ที่สร้างไว้ล่วงหน้า
    • เครื่องมือช่วย CLI ที่เลือกใช้ได้ (เช่น ไบนารี Go/Rust ที่มาพร้อมกับ Skills): ตรวจสอบว่ามีรุ่น 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 เพื่อยืนยันตัวตนอีกครั้ง

    Gateway ไม่เริ่มทำงาน -- เรียกใช้ openclaw doctor --non-interactive และตรวจสอบบันทึกด้วย journalctl --user -u openclaw-gateway.service -n 50

    ปัญหาไบนารี ARM -- แพ็กเกจ npm ส่วนใหญ่ทำงานบน ARM64 สำหรับไบนารีเนทีฟ ให้ค้นหารุ่น linux-arm64 หรือ aarch64 ตรวจสอบสถาปัตยกรรมด้วย uname -m

    ขั้นตอนถัดไป

    เนื้อหาที่เกี่ยวข้อง

    Was this useful?
    On this page

    On this page