الاستضافة والنشر

النشر على Render

انشر OpenClaw على Render باستخدام البنية التحتية ككود. يحدد مخطط render.yaml المضمن مكدسك بالكامل بشكل تصريحي: الخدمة، القرص، متغيرات البيئة، مما يتيح لك النشر بنقرة واحدة وإدارة بنيتك التحتية جنبًا إلى جنب مع كودك.

المتطلبات الأساسية

النشر باستخدام مخطط Render

انشر على Render سيؤدي النقر على هذا الرابط إلى:

  1. إنشاء خدمة Render جديدة من مخطط render.yaml الموجود في جذر المستودع.
  2. مطالبتك بتعيين SETUP_PASSWORD
  3. بناء صورة Docker ونشرها

بعد النشر، سيتبع عنوان URL لخدمتك النمط https://<service-name>.onrender.com.

فهم المخطط

مخططات Render هي ملفات YAML تحدد بنيتك التحتية. يقوم ملف render.yaml في هذا المستودع بتكوين كل ما يلزم لتشغيل OpenClaw:

services:
  - type: web
    name: openclaw
    runtime: docker
    plan: starter
    healthCheckPath: /health
    envVars:
      - key: PORT
        value: "8080"
      - key: SETUP_PASSWORD
        sync: false # يطلب القيمة أثناء النشر
      - key: OPENCLAW_STATE_DIR
        value: /data/.openclaw
      - key: OPENCLAW_WORKSPACE_DIR
        value: /data/workspace
      - key: OPENCLAW_GATEWAY_TOKEN
        generateValue: true # يولد قيمة آمنة تلقائيًا
    disk:
      name: openclaw-data
      mountPath: /data
      sizeGB: 1

ميزات المخطط الرئيسية المستخدمة:

الميزةالغرض
runtime: dockerالبناء من Dockerfile الخاص بالمستودع
healthCheckPathيراقب Render المسار /health ويعيد تشغيل الحالات غير الصحية
sync: falseيطلب القيمة أثناء النشر (للأسرار)
generateValue: trueيولد قيمة آمنة تشفيريًا تلقائيًا
diskتخزين ثابت يبقى بعد عمليات إعادة النشر

اختيار خطة

الخطةالتوقف التلقائيالقرصالأنسب لـ
مجانيبعد 15 دقيقة من الخمولغير متوفرالاختبار، العروض التوضيحية
Starterأبدًا1GB+الاستخدام الشخصي، الفرق الصغيرة
Standard+أبدًا1GB+الإنتاج، قنوات متعددة

يستخدم المخطط الافتراضي خطة starter. لاستخدام الطبقة المجانية، قم بتغيير plan: free في ملف render.yaml الخاص بنسختك (لكن لاحظ: عدم وجود قرص ثابت يعني إعادة تعيين الإعدادات في كل عملية نشر).

بعد النشر

أكمل معالج الإعداد

  1. انتقل إلى https://<your-service>.onrender.com/setup
  2. أدخل SETUP_PASSWORD الخاص بك
  3. اختر مزود نموذج وألصق مفتاح API الخاص بك
  4. قم بتكوين قنوات المراسلة (Telegram، Discord، Slack) اختياريًا
  5. انقر على تشغيل الإعداد

الوصول إلى واجهة التحكم

لوحة التحكم الإلكترونية متاحة على https://<your-service>.onrender.com/openclaw.

ميزات لوحة تحكم Render

السجلات

اعرض السجلات في الوقت الفعلي في لوحة التحكم → خدمتك → السجلات. قم بالتصفية حسب:

  • سجلات البناء (إنشاء صورة Docker)
  • سجلات النشر (بدء تشغيل الخدمة)
  • سجلات وقت التشغيل (نتائج التطبيق)

الوصول إلى الطرفية

لأغراض التصحيح، افتح جلسة طرفية عبر لوحة التحكم → خدمتك → الطرفية. القرص الثابت مركب على المسار /data.

متغيرات البيئة

عدل المتغيرات في لوحة التحكم → خدمتك → البيئة. التغييرات تؤدي إلى إعادة نشر تلقائي.

النشر التلقائي

إذا كنت تستخدم مستودع OpenClaw الأصلي، فلن يقوم Render بالنشر التلقائي لـ OpenClaw الخاص بك. لتحديثه، قم بتشغيل مزامنة يدوية للمخطط من لوحة التحكم.

نطاق مخصص

  1. انتقل إلى لوحة التحكم → خدمتك → الإعدادات → النطاقات المخصصة
  2. أضف نطاقك
  3. قم بتكوين DNS كما هو موضح (CNAME إلى *.onrender.com)
  4. يقوم Render بتوفير شهادة TLS تلقائيًا

التحجيم

يدعم Render التحجيم الأفقي والرأسي:

  • الرأسي: غير الخطة للحصول على المزيد من وحدة المعالجة المركزية/الذاكرة العشوائية
  • الأفقي: زد عدد الحالات (خطة Standard فما فوق)

بالنسبة لـ OpenClaw، عادةً ما يكون التحجيم الرأسي كافيًا. يتطلب التحجيم الأفقي جلسات لاصقة أو إدارة حالة خارجية.

النسخ الاحتياطي والهجرة

يمكنك تصدير إعداداتك ومساحة العمل في أي وقت:

https://<your-service>.onrender.com/setup/export

سيؤدي هذا إلى تنزيل نسخة احتياطية محمولة يمكنك استعادتها على أي مضيف OpenClaw.

استكشاف الأخطاء وإصلاحها

الخدمة لا تبدأ

تحقق من سجلات النشر في لوحة تحكم Render. المشاكل الشائعة:

  • SETUP_PASSWORD مفقود — يطلب المخطط هذا، لكن تحقق من تعيينه
  • عدم تطابق المنفذ — تأكد من أن PORT=8080 يطابق المنفذ المعروض في Dockerfile

بدء تشغيل بطيء (الطبقة المجانية)

تتوقف الخدمات في الطبقة المجانية بعد 15 دقيقة من عدم النشاط. يأخذ الطلب الأول بعد التوقف بضع ثوانٍ أثناء بدء تشغيل الحاوية. قم بالترقية إلى خطة Starter للحصول على تشغيل دائم.

فقدان البيانات بعد إعادة النشر

يحدث هذا في الطبقة المجانية (بدون قرص ثابت). قم بالترقية إلى خطة مدفوعة، أو قم بتصدير إعداداتك بانتظام عبر /setup/export.

فشل فحوصات الصحة

يتوقع Render استجابة 200 من /health خلال 30 ثانية. إذا نجحت عمليات البناء لكن عمليات النشر فشلت، فقد تستغرق الخدمة وقتًا طويلاً للبدء. تحقق من:

  • سجلات البناء للبحث عن أخطاء
  • ما إذا كانت الحاوية تعمل محليًا باستخدام docker build && docker run

النشر على Railwayالنشر على Northflank