Hosting
Hetzner
الهدف
شغّل OpenClaw Gateway دائمًا على Hetzner VPS باستخدام Docker، مع حالة دائمة، وثنائيات مدمجة، وسلوك إعادة تشغيل آمن.
إذا كنت تريد "OpenClaw على مدار الساعة مقابل نحو 5 دولارات"، فهذا هو أبسط إعداد موثوق. تتغير أسعار Hetzner؛ اختر أصغر VPS يعمل بنظام Debian/Ubuntu وزد الموارد إذا واجهت نفادًا في الذاكرة.
تذكير بنموذج الأمان:
- الوكلاء المشتركون على مستوى الشركة مناسبون عندما يكون الجميع ضمن حدود الثقة نفسها ويكون وقت التشغيل مخصصًا للأعمال فقط.
- حافظ على فصل صارم: VPS/وقت تشغيل مخصص + حسابات مخصصة؛ لا تستخدم ملفات تعريف Apple/Google/المتصفح/مدير كلمات المرور الشخصية على ذلك المضيف.
- إذا كان المستخدمون خصومًا لبعضهم، فافصلهم حسب Gateway/المضيف/مستخدم نظام التشغيل.
راجع الأمان واستضافة VPS.
ماذا سنفعل (بعبارات بسيطة)؟
- استئجار خادم Linux صغير (Hetzner VPS)
- تثبيت Docker (وقت تشغيل تطبيق معزول)
- بدء OpenClaw Gateway في Docker
- حفظ
~/.openclaw+~/.openclaw/workspaceعلى المضيف بشكل دائم (يبقى بعد إعادة التشغيل/إعادة البناء) - الوصول إلى واجهة التحكم من حاسوبك المحمول عبر نفق SSH
تتضمن حالة ~/.openclaw المثبتة هذه openclaw.json، وملف
agents/<agentId>/agent/auth-profiles.json لكل وكيل، و.env.
يمكن الوصول إلى Gateway عبر:
- إعادة توجيه منفذ SSH من حاسوبك المحمول
- تعريض المنفذ مباشرة إذا كنت تدير الجدار الناري والرموز بنفسك
يفترض هذا الدليل استخدام Ubuntu أو Debian على Hetzner.
إذا كنت تستخدم VPS آخر يعمل بنظام Linux، فطابق الحزم وفقًا لذلك.
للتدفق العام مع Docker، راجع Docker.
المسار السريع (للمشغلين ذوي الخبرة)
- وفّر Hetzner VPS
- ثبّت Docker
- استنسخ مستودع OpenClaw
- أنشئ أدلة مضيف دائمة
- اضبط
.envوdocker-compose.yml - ادمج الثنائيات المطلوبة في الصورة
docker compose up -d- تحقق من الاستمرارية والوصول إلى Gateway
ما تحتاجه
- Hetzner VPS مع وصول root
- وصول SSH من حاسوبك المحمول
- إلمام أساسي بـ SSH + النسخ/اللصق
- نحو 20 دقيقة
- Docker وDocker Compose
- اعتمادات مصادقة النموذج
- اعتمادات مزوّد اختيارية
- WhatsApp QR
- رمز بوت Telegram
- Gmail OAuth
توفير VPS
أنشئ VPS يعمل بنظام Ubuntu أو Debian في Hetzner.
اتصل كمستخدم root:
ssh root@YOUR_VPS_IP
يفترض هذا الدليل أن VPS يحفظ الحالة. لا تتعامل معه كبنية تحتية قابلة للاستبدال.
تثبيت Docker (على VPS)
apt-get update
apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sh
تحقق:
docker --version
docker compose version
استنساخ مستودع OpenClaw
git clone https://github.com/openclaw/openclaw.git
cd openclaw
يفترض هذا الدليل أنك ستبني صورة مخصصة لضمان استمرار الثنائيات.
إنشاء أدلة مضيف دائمة
حاويات Docker مؤقتة. يجب أن تعيش كل الحالة طويلة الأمد على المضيف.
mkdir -p /root/.openclaw/workspace
# Set ownership to the container user (uid 1000):
chown -R 1000:1000 /root/.openclaw
ضبط متغيرات البيئة
أنشئ .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
رمزًا خاصًا بوقت التشغيل فقط لتلك البداية. أنشئ كلمة مرور لسلسلة المفاتيح والصقها
في GOG_KEYRING_PASSWORD:
openssl rand -hex 32
لا تلتزم بهذا الملف في المستودع.
ملف .env هذا مخصص لبيئة الحاوية/وقت التشغيل مثل OPENCLAW_GATEWAY_TOKEN.
تعيش مصادقة OAuth/API-key المخزنة للمزوّد في
~/.openclaw/agents/<agentId>/agent/auth-profiles.json المثبت.
إعداد Docker Compose
أنشئ أو حدّث 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 أو كلمة مرور) واستخدم إعدادات ربط آمنة لنشرك.
خطوات وقت تشغيل Docker VM المشتركة
استخدم دليل وقت التشغيل المشترك لتدفق مضيف Docker الشائع:
وصول خاص بـ Hetzner
بعد خطوات البناء والتشغيل المشتركة، أكمل الإعداد التالي لفتح النفق:
المتطلب السابق: تأكد من أن إعداد sshd في VPS يسمح بإعادة توجيه TCP. إذا كنت
قد شددت إعداد SSH لديك، فتحقق من /etc/ssh/sshd_config واضبط:
AllowTcpForwarding local
يسمح local بعمليات إعادة التوجيه المحلية ssh -L من حاسوبك المحمول مع حظر
عمليات إعادة التوجيه البعيدة من الخادم. سيؤدي ضبطه على no إلى فشل النفق
مع:
channel 3: open failed: administratively prohibited: open failed
بعد تأكيد تمكين إعادة توجيه TCP، أعد تشغيل خدمة SSH
(systemctl restart ssh) وشغّل النفق من حاسوبك المحمول:
ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IP
افتح:
http://127.0.0.1:18789/
الصق السر المشترك المضبوط. يستخدم هذا الدليل رمز Gateway افتراضيًا؛ إذا انتقلت إلى مصادقة كلمة المرور، فاستخدم تلك كلمة المرور بدلًا من ذلك.
توجد خريطة الاستمرارية المشتركة في وقت تشغيل Docker VM.
البنية التحتية ككود (Terraform)
للفرق التي تفضّل تدفقات عمل البنية التحتية ككود، يوفر إعداد Terraform المُدار من المجتمع:
- إعداد Terraform معياري مع إدارة حالة بعيدة
- توفيرًا آليًا عبر cloud-init
- نصوص نشر برمجية (تمهيد، نشر، نسخ احتياطي/استعادة)
- تعزيزًا أمنيًا (جدار ناري، UFW، وصول SSH فقط)
- إعداد نفق SSH للوصول إلى Gateway
المستودعات:
- البنية التحتية: openclaw-terraform-hetzner
- إعداد Docker: openclaw-docker-config
يكمل هذا النهج إعداد Docker أعلاه بعمليات نشر قابلة للتكرار، وبنية تحتية مضبوطة بالإصدارات، واستعادة آلية عند الكوارث.
الخطوات التالية
- إعداد قنوات المراسلة: القنوات
- ضبط Gateway: إعداد Gateway
- إبقاء OpenClaw محدّثًا: التحديث