OpenClaw على GCP Compute Engine (Docker، دليل VPS للإنتاج)
الهدف
تشغيل OpenClaw Gateway دائمًا مع حالة دائمة على جهاز افتراضي GCP Compute Engine باستخدام Docker، مع حالة دائمة، وثنائيات مضمّنة داخل الصورة، وسلوك آمن عند إعادة التشغيل. إذا كنت تريد “OpenClaw يعمل على مدار الساعة طوال أيام الأسبوع مقابل نحو 5 إلى 12 دولارًا شهريًا”، فهذا إعداد موثوق على Google Cloud. تختلف الأسعار حسب نوع الجهاز والمنطقة؛ اختر أصغر جهاز افتراضي يناسب حمل العمل لديك ثم قم بالترقية إذا واجهت حالات نفاد الذاكرة.ماذا نفعل هنا (بشكل مبسط)؟
- إنشاء مشروع GCP وتفعيل الفوترة
- إنشاء جهاز افتراضي Compute Engine
- تثبيت Docker (بيئة تشغيل معزولة للتطبيق)
- تشغيل OpenClaw Gateway داخل Docker
- جعل
~/.openclawو~/.openclaw/workspaceدائمين على المضيف (لتبقى عبر إعادة التشغيل/إعادة البناء) - الوصول إلى Control UI من حاسوبك المحمول عبر نفق SSH
~/.openclaw الملف openclaw.json وملف
agents/<agentId>/agent/auth-profiles.json لكل وكيل و.env.
يمكن الوصول إلى Gateway عبر:
- إعادة توجيه منفذ SSH من حاسوبك المحمول
- تعريض المنفذ مباشرة إذا كنت تدير الجدار الناري والرموز المميّزة بنفسك
المسار السريع (للمشغّلين ذوي الخبرة)
- أنشئ مشروع GCP وفعّل Compute Engine API
- أنشئ جهازًا افتراضيًا Compute Engine (
e2-small، وDebian 12، و20GB) - اتصل بالجهاز عبر SSH
- ثبّت Docker
- انسخ مستودع OpenClaw
- أنشئ أدلة مضيف دائمة
- اضبط
.envوdocker-compose.yml - ضمّن الثنائيات المطلوبة داخل الصورة، ثم ابنِ وشغّل
ما الذي تحتاجه
- حساب GCP (الفئة المجانية مؤهلة لـ
e2-micro) - تثبيت gcloud CLI (أو استخدام Cloud Console)
- وصول SSH من حاسوبك المحمول
- إلمام أساسي بـ SSH والنسخ/اللصق
- نحو 20 إلى 30 دقيقة
- Docker وDocker Compose
- بيانات اعتماد مصادقة النموذج
- بيانات اعتماد مزوّد اختيارية
- رمز QR لـ WhatsApp
- رمز بوت Telegram
- Gmail OAuth
تثبيت gcloud CLI (أو استخدام Console)
الخيار A: gcloud CLI (موصى به للأتمتة)ثبّته من https://cloud.google.com/sdk/docs/installقم بالتهيئة والمصادقة:الخيار B: Cloud Consoleيمكن تنفيذ جميع الخطوات من خلال واجهة الويب على https://console.cloud.google.com
إنشاء مشروع GCP
CLI:فعّل الفوترة من https://console.cloud.google.com/billing (مطلوب لـ Compute Engine).فعّل Compute Engine API:Console:
- انتقل إلى IAM & Admin > Create Project
- سمّه وأنشئه
- فعّل الفوترة للمشروع
- انتقل إلى APIs & Services > Enable APIs > وابحث عن “Compute Engine API” > ثم Enable
إنشاء الجهاز الافتراضي
أنواع الأجهزة:
CLI:Console:
| النوع | المواصفات | التكلفة | ملاحظات |
|---|---|---|---|
| e2-medium | 2 vCPU، و4GB RAM | نحو 25 دولارًا/شهرًا | الأكثر موثوقية لعمليات بناء Docker المحلية |
| e2-small | 2 vCPU، و2GB RAM | نحو 12 دولارًا/شهرًا | الحد الأدنى الموصى به لبناء Docker |
| e2-micro | 2 vCPU (مشتركة)، و1GB RAM | مؤهل للفئة المجانية | يفشل كثيرًا بسبب نفاد الذاكرة أثناء بناء Docker (exit 137) |
- انتقل إلى Compute Engine > VM instances > Create instance
- الاسم:
openclaw-gateway - المنطقة:
us-central1، والنطاق:us-central1-a - نوع الجهاز:
e2-small - قرص الإقلاع: Debian 12، و20GB
- أنشئ الجهاز
الاتصال بالجهاز عبر SSH
CLI:Console:انقر زر “SSH” بجوار جهازك الافتراضي في لوحة تحكم Compute Engine.ملاحظة: قد يستغرق نشر مفاتيح SSH من 1 إلى 2 دقيقة بعد إنشاء الجهاز الافتراضي. إذا رُفض الاتصال، انتظر ثم أعد المحاولة.
تثبيت Docker (على الجهاز الافتراضي)
إعداد متغيرات البيئة
أنشئ ملف اترك لا تقم بإيداع هذا الملف.ملف
.env في جذر المستودع.OPENCLAW_GATEWAY_TOKEN فارغًا ما لم تكن تريد صراحةً
إدارته عبر .env؛ يكتب OpenClaw رمز Gateway عشوائيًا إلى
الإعدادات عند أول تشغيل. أنشئ كلمة مرور keyring والصقها في
GOG_KEYRING_PASSWORD:.env هذا مخصّص لمتغيرات بيئة الحاوية/وقت التشغيل مثل OPENCLAW_GATEWAY_TOKEN.
أما مصادقة OAuth/API-key الخاصة بالمزوّدات المخزّنة فتوجد في
~/.openclaw/agents/<agentId>/agent/auth-profiles.json المثبّت.إعداد Docker Compose
أنشئ أو حدّث
docker-compose.yml.--allow-unconfigured مخصّص فقط لتسهيل التمهيد الأولي، وليس بديلًا عن إعداد صحيح لـ gateway. مع ذلك، اضبط المصادقة (gateway.auth.token أو كلمة المرور) واستخدم إعدادات ربط آمنة لبيئة النشر لديك.خطوات وقت التشغيل المشتركة لـ Docker على الجهاز الافتراضي
استخدم دليل وقت التشغيل المشترك للتدفق المعتاد لمضيف Docker:
ملاحظات تشغيل خاصة بـ GCP
على GCP، إذا فشل البناء مع إذا غيّرت منفذ gateway، فاستبدل
Killed أو exit code 137 أثناء pnpm install --frozen-lockfile، فهذا يعني أن الجهاز الافتراضي نفدت ذاكرته. استخدم e2-small كحد أدنى، أو e2-medium لبناء أولي أكثر موثوقية.عند الربط على LAN (OPENCLAW_GATEWAY_BIND=lan)، اضبط مصدر متصفح موثوقًا قبل المتابعة:18789 بالمنفذ الذي ضبطته.الوصول من حاسوبك المحمول
أنشئ نفق SSH لإعادة توجيه منفذ Gateway:افتح في متصفحك:إذا طلبت Control UI مصادقة السر المشترك، الصق الرمز المميّز أو
كلمة المرور المهيأة في إعدادات Control UI. يكتب تدفق Docker هذا رمزًا
مميّزًا افتراضيًا؛ وإذا بدّلت إعداد الحاوية إلى مصادقة بكلمة مرور، فاستخدم
كلمة المرور تلك بدلًا من ذلك.إذا عرضت Control UI الرسالة هل تحتاج مرجع الاستمرارية المشتركة والتحديثات مرة أخرى؟
راجع Docker VM Runtime وتحديثات Docker VM Runtime.
http://127.0.0.1:18789/أعد طباعة رابط لوحة تحكم نظيف:unauthorized أو disconnected (1008): pairing required، فوافق على جهاز المتصفح:استكشاف الأخطاء وإصلاحها
رُفض اتصال SSH قد يستغرق نشر مفاتيح SSH من 1 إلى 2 دقيقة بعد إنشاء الجهاز الافتراضي. انتظر ثم أعد المحاولة. مشكلات OS Login تحقّق من ملف تعريف OS Login لديك:Killed وexit code 137، فهذا يعني أن الجهاز الافتراضي قُتل بسبب نفاد الذاكرة. قم بالترقية إلى e2-small (الحد الأدنى) أو e2-medium (موصى به لعمليات البناء المحلية الموثوقة):
حسابات الخدمة (أفضل الممارسات الأمنية)
للاستخدام الشخصي، يعمل حساب المستخدم الافتراضي لديك بشكل جيد. أما للأتمتة أو خطوط CI/CD، فأنشئ حساب خدمة مخصصًا بأقل قدر ممكن من الأذونات:-
أنشئ حساب خدمة:
-
امنح دور Compute Instance Admin (أو دورًا مخصصًا أضيق):
الخطوات التالية
- اضبط قنوات المراسلة: القنوات
- اقترن بالأجهزة المحلية كعُقد: Nodes
- اضبط Gateway: إعداد Gateway