Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

เป้าหมาย

รัน OpenClaw Gateway แบบถาวรบน Hetzner VPS โดยใช้ Docker พร้อมสถานะที่คงทน ไบนารีที่ฝังไว้ในอิมเมจ และพฤติกรรมการรีสตาร์ตที่ปลอดภัย หากคุณต้องการ “OpenClaw ตลอด 24/7 ในราคา ~$5” นี่คือการตั้งค่าที่เรียบง่ายและเชื่อถือได้ที่สุด ราคา Hetzner อาจเปลี่ยนแปลงได้; เลือก VPS Debian/Ubuntu ขนาดเล็กที่สุด แล้วค่อยขยายขนาดหากพบปัญหา OOM ข้อเตือนใจเรื่องโมเดลความปลอดภัย:
  • เอเจนต์ที่ใช้ร่วมกันในบริษัทใช้ได้เมื่อทุกคนอยู่ในขอบเขตความไว้วางใจเดียวกันและรันไทม์ใช้เพื่อธุรกิจเท่านั้น
  • แยกอย่างเคร่งครัด: VPS/รันไทม์เฉพาะ + บัญชีเฉพาะ; ห้ามใช้โปรไฟล์ Apple/Google/เบราว์เซอร์/ตัวจัดการรหัสผ่านส่วนตัวบนโฮสต์นั้น
  • หากผู้ใช้มีลักษณะเป็นปฏิปักษ์ต่อกัน ให้แยกตาม gateway/โฮสต์/ผู้ใช้ OS
ดู ความปลอดภัย และ การโฮสต์ VPS

เรากำลังทำอะไรอยู่ (แบบเข้าใจง่าย)?

  • เช่าเซิร์ฟเวอร์ Linux ขนาดเล็ก (Hetzner VPS)
  • ติดตั้ง Docker (รันไทม์แอปแบบแยกส่วน)
  • เริ่ม OpenClaw Gateway ใน Docker
  • เก็บ ~/.openclaw + ~/.openclaw/workspace ไว้บนโฮสต์แบบถาวร (ยังอยู่หลังรีสตาร์ต/สร้างใหม่)
  • เข้าถึง Control UI จากแล็ปท็อปของคุณผ่าน SSH tunnel
สถานะ ~/.openclaw ที่เมานต์ไว้นั้นรวมถึง openclaw.json, ไฟล์ต่อเอเจนต์ agents/<agentId>/agent/auth-profiles.json และ .env สามารถเข้าถึง Gateway ได้ผ่าน:
  • การส่งต่อพอร์ต SSH จากแล็ปท็อปของคุณ
  • การเปิดพอร์ตโดยตรง หากคุณจัดการไฟร์วอลล์และโทเคนเอง
คู่มือนี้สมมติว่าใช้ Ubuntu หรือ Debian บน Hetzner
หากคุณใช้ Linux VPS อื่น ให้เทียบแพ็กเกจตามความเหมาะสม สำหรับขั้นตอน Docker ทั่วไป ดู Docker

เส้นทางด่วน (สำหรับผู้ดูแลระบบที่มีประสบการณ์)

  1. จัดเตรียม Hetzner VPS
  2. ติดตั้ง Docker
  3. โคลนรีโพซิทอรี OpenClaw
  4. สร้างไดเรกทอรีโฮสต์แบบถาวร
  5. กำหนดค่า .env และ docker-compose.yml
  6. ฝังไบนารีที่จำเป็นลงในอิมเมจ
  7. docker compose up -d
  8. ตรวจสอบการคงอยู่ของข้อมูลและการเข้าถึง Gateway

สิ่งที่คุณต้องมี

  • Hetzner VPS พร้อมสิทธิ์ root
  • การเข้าถึง SSH จากแล็ปท็อปของคุณ
  • ใช้งาน SSH + คัดลอก/วางได้ในระดับพื้นฐาน
  • ประมาณ 20 นาที
  • Docker และ Docker Compose
  • ข้อมูลรับรองการยืนยันตัวตนของโมเดล
  • ข้อมูลรับรองผู้ให้บริการเสริม
    • WhatsApp QR
    • โทเคนบอต Telegram
    • Gmail OAuth

1

Provision the VPS

สร้าง VPS Ubuntu หรือ Debian ใน Hetznerเชื่อมต่อเป็น root:
ssh root@YOUR_VPS_IP
คู่มือนี้สมมติว่า VPS มีสถานะแบบคงอยู่ อย่าปฏิบัติต่อมันเหมือนโครงสร้างพื้นฐานที่ใช้แล้วทิ้ง
2

Install Docker (on the VPS)

apt-get update
apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sh
ตรวจสอบ:
docker --version
docker compose version
3

Clone the OpenClaw repository

git clone https://github.com/openclaw/openclaw.git
cd openclaw
คู่มือนี้สมมติว่าคุณจะสร้างอิมเมจแบบกำหนดเองเพื่อรับประกันว่าไบนารีจะคงอยู่
4

Create persistent host directories

คอนเทนเนอร์ Docker มีลักษณะชั่วคราว สถานะที่ต้องอยู่ระยะยาวทั้งหมดต้องอยู่บนโฮสต์
mkdir -p /root/.openclaw/workspace

# Set ownership to the container user (uid 1000):
chown -R 1000:1000 /root/.openclaw
5

Configure environment variables

สร้าง .env ในรากของรีโพซิทอรี
OPENCLAW_IMAGE=openclaw:latest
OPENCLAW_GATEWAY_TOKEN=
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789

OPENCLAW_CONFIG_DIR=/root/.openclaw
OPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace

GOG_KEYRING_PASSWORD=
XDG_CONFIG_HOME=/home/node/.openclaw
ตั้งค่า OPENCLAW_GATEWAY_TOKEN เมื่อคุณต้องการจัดการโทเคน gateway แบบคงที่ผ่าน .env; มิฉะนั้นให้กำหนดค่า gateway.auth.token ก่อน พึ่งพาไคลเอนต์ข้ามการรีสตาร์ต หากไม่มีแหล่งใดอยู่ OpenClaw จะใช้ โทเคนเฉพาะรันไทม์สำหรับการเริ่มต้นครั้งนั้น สร้างรหัสผ่าน keyring แล้ววาง ลงใน GOG_KEYRING_PASSWORD:
openssl rand -hex 32
อย่า commit ไฟล์นี้ไฟล์ .env นี้ใช้สำหรับ env ของคอนเทนเนอร์/รันไทม์ เช่น OPENCLAW_GATEWAY_TOKEN การยืนยันตัวตน OAuth/API-key ของผู้ให้บริการที่จัดเก็บไว้จะอยู่ในไฟล์ที่เมานต์ ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
6

Docker Compose configuration

สร้างหรืออัปเดต docker-compose.yml
services:
  openclaw-gateway:
    image: ${OPENCLAW_IMAGE}
    build: .
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - HOME=/home/node
      - NODE_ENV=production
      - TERM=xterm-256color
      - OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND}
      - OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT}
      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
      - GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}
      - XDG_CONFIG_HOME=${XDG_CONFIG_HOME}
      - PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    volumes:
      - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
      - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
    ports:
      # Recommended: keep the Gateway loopback-only on the VPS; access via SSH tunnel.
      # To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly.
      - "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789"
    command:
      [
        "node",
        "dist/index.js",
        "gateway",
        "--bind",
        "${OPENCLAW_GATEWAY_BIND}",
        "--port",
        "${OPENCLAW_GATEWAY_PORT}",
        "--allow-unconfigured",
      ]
--allow-unconfigured มีไว้เพื่อความสะดวกในการบูตสแตรปเท่านั้น ไม่ใช่สิ่งทดแทนการกำหนดค่า gateway ที่เหมาะสม ยังคงต้องตั้งค่าการยืนยันตัวตน (gateway.auth.token หรือรหัสผ่าน) และใช้การตั้งค่า bind ที่ปลอดภัยสำหรับการปรับใช้ของคุณ
7

Shared Docker VM runtime steps

ใช้คู่มือรันไทม์ร่วมสำหรับขั้นตอนโฮสต์ Docker ทั่วไป:
8

Hetzner-specific access

หลังจากขั้นตอนสร้างและเริ่มใช้งานร่วมกันเสร็จแล้ว ให้ตั้งค่าต่อไปนี้เพื่อเปิด tunnel:ข้อกำหนดเบื้องต้น: ตรวจสอบให้แน่ใจว่าคอนฟิก sshd ของ VPS อนุญาตการส่งต่อ TCP หากคุณ ทำให้คอนฟิก SSH แข็งแรงขึ้นแล้ว ให้ตรวจสอบ /etc/ssh/sshd_config และตั้งค่า:
AllowTcpForwarding local
local อนุญาต ssh -L local forwards จากแล็ปท็อปของคุณ พร้อมทั้งบล็อก remote forwards จากเซิร์ฟเวอร์ การตั้งค่าเป็น no จะทำให้ tunnel ล้มเหลว ด้วย: channel 3: open failed: administratively prohibited: open failedหลังจากยืนยันว่าเปิดใช้งานการส่งต่อ TCP แล้ว ให้รีสตาร์ตบริการ SSH (systemctl restart ssh) และรัน tunnel จากแล็ปท็อปของคุณ:
ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IP
เปิด:http://127.0.0.1:18789/วาง shared secret ที่กำหนดค่าไว้ คู่มือนี้ใช้โทเคน gateway เป็นค่าเริ่มต้น; หากคุณเปลี่ยนไปใช้การยืนยันตัวตนด้วยรหัสผ่าน ให้ใช้รหัสผ่านนั้นแทน
แผนที่การคงอยู่ร่วมกันอยู่ใน รันไทม์ Docker VM

โครงสร้างพื้นฐานในรูปแบบโค้ด (Terraform)

สำหรับทีมที่ต้องการเวิร์กโฟลว์โครงสร้างพื้นฐานในรูปแบบโค้ด การตั้งค่า Terraform ที่ดูแลโดยชุมชนมีสิ่งต่อไปนี้:
  • การกำหนดค่า Terraform แบบโมดูลาร์พร้อมการจัดการสถานะระยะไกล
  • การจัดเตรียมอัตโนมัติผ่าน cloud-init
  • สคริปต์การปรับใช้ (bootstrap, deploy, backup/restore)
  • การเสริมความปลอดภัย (ไฟร์วอลล์, UFW, การเข้าถึงผ่าน SSH เท่านั้น)
  • การกำหนดค่า SSH tunnel สำหรับการเข้าถึง gateway
รีโพซิทอรี: แนวทางนี้เสริมการตั้งค่า Docker ด้านบนด้วยการปรับใช้ที่ทำซ้ำได้ โครงสร้างพื้นฐานที่ควบคุมเวอร์ชันได้ และการกู้คืนจากภัยพิบัติแบบอัตโนมัติ
ดูแลโดยชุมชน สำหรับปัญหาหรือการมีส่วนร่วม โปรดดูที่ลิงก์รีโพซิทอรีด้านบน

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

ที่เกี่ยวข้อง