إذا كنت تشغّل OpenClaw على خادم إنتاج، فإن إعداد OpenClaw محوسلًا باستخدام Docker هو الفرق بين وكيل يمكنك النوم مطمئنًا بجانبه ووكيل يفاجئك في الساعة الثانية صباحًا. التثبيت المباشر على الجهاز (curl -fsSL https://openclaw.ai/install.sh | bash) رائع لتجربة الأداة. لكن بمجرد أن يبدأ هذا الشيء بقراءة الملفات، والاتصال بواجهات برمجة التطبيقات الخاصة بك، وتشغيل أوامر نيابة عن فريقك، تريده معزولًا، وقابلًا لإعادة الإنتاج، وسهل التراجع عنه. هذا ما يمنحك إياه Docker. هذا الدليل موجّه للمهندس الذي أنهى البدء السريع والآن يريد فعل الأمر بشكل صحيح.
سنفترض أنك تعرف طريقك حول الطرفية (terminal) وملف compose. إذا لم تكن قد ثبّت OpenClaw بعد على الإطلاق، ابدأ بالأساسيات في دليل إعداد OpenClaw الخاص بنا، ثم عد إلى هنا عندما تكون مستعدًا لتحصينه.
لماذا تحوسل OpenClaw أصلًا
OpenClaw هو بوابة محلية أولًا (local-first) تدير الجلسات والقنوات والأدوات والأحداث، وقد نمت شهيته لوصول النظام عمدًا. إنه يشغّل أوامر، ويؤتمت متصفحًا، ويلمس ملفات. تلك القوة هي السبب الذي يدفعك لتغليفه في حاوية.
بضعة مكاسب ملموسة:
- العزل. الوكيل يشغّل أوامر. أنت لا تريد حقًا أن تُنفَّذ تلك الأوامر مباشرة ضد نظام ملفات مضيفك ومساحة عملياته. الحاوية تمنحه صندوق رمل بحدود تتحكم بها.
- قابلية إعادة الإنتاج. ثبّت وسم الصورة (image tag) وستُشغّل بيئات التطوير والاختبار والإنتاج لديك نفس الملف التنفيذي. لا مزيد من "يعمل على خادمي".
- ترقيات وتراجعات نظيفة. اسحب وسمًا جديدًا، أعد التشغيل، وإذا أساء التصرف، تراجع إلى الوسم السابق في ثوانٍ. جرّب ذلك مع تثبيت في نفس المكان.
- نظافة التبعيات. يعيش Node 24 (أو 22.19+) وحزمة أتمتة المتصفح داخل الصورة، لا موزّعة عبر مضيفك.
نظرًا للتحصين الأمني الكبير الذي طرأ عبر أواخر مارس ومنتصف أبريل 2026، العزل ليس اختياريًا لأي شيء يواجه العملاء. حوسل أولًا، ثم اعرض.
الأحجام (Volumes): ما يجب أن ينجو من إعادة التشغيل
الخطأ الأكثر شيوعًا هو معاملة الحاوية كعديمة الحالة بالكامل. يحتفظ OpenClaw بحالة لا يمكنك تحمّل خسارتها عند إعادة التشغيل، الجلسات، تهيئة القنوات، بيانات الاعتماد، سجل الأحداث، وأي بيانات محلية يعمل عليها الوكيل.
اربط أحجامًا مُسمّاة (named volumes) لأي شيء دائم. كحد أدنى:
- تهيئة وحالة الجلسة، حتى لا يعني إعادة الاتصال بواتساب أو تيليجرام إعادة مسح رمز QR في كل إعادة تشغيل
- أي مخزن بيانات محلي يقرأه الوكيل أو يكتب إليه
- السجلات، إذا أردت لها أن تعيش بعد الحاوية
نمط بسيط: حجم مُسمّى لدليل بيانات OpenClaw، وربط ملفات (bind mounts) فقط للتهيئة القابلة للقراءة فقط التي تديرها في نظام التحكم بالإصدارات. أبقِ الحالة القابلة للكتابة في أحجام مُسمّاة، وأبقِ التهيئة التصريحية في ملفات مرتبطة يمكنك الالتزام بها (commit). لا تضع الأسرار أو رموز الجلسة داخل الصورة أبدًا، ستتسرب في اللحظة التي تنتقل فيها تلك الصورة.
الأسرار ومفاتيح واجهة برمجة التطبيقات، بشكل صحيح
يحتاج OpenClaw إلى مفتاح واجهة برمجة تطبيقات واحد على الأقل من مزوّد، وربما رموز قنوات أيضًا. هذه لا تنتمي إلى ملف compose الخاص بك كقيم بيئة نصية عادية ملتزم بها في git.
خيارات، مرتبة تقريبيًا حسب الأفضلية:
- أسرار Docker (مع دعم Swarm أو أسرار compose) مثبّتة كملفات تقرأها الحاوية عند التشغيل. المفتاح لا يصل أبدًا إلى الصورة أو تفريغ بيئة العملية.
- ملف بيئة خارج نظام التحكم بالإصدارات، مُشار إليه عبر env_file، بصلاحيات ملف صارمة. مقبول للنشرات الصغيرة إذا كنت منضبطًا بشأنه.
- مدير أسرار خارجي (Vault، مدير مزوّد السحابة الخاص بك) يُحقن عند البدء. الأفضل للفرق التي لديها بنية تحتية قائمة.
أيًا كان ما تختاره، دوّر المفاتيح على جدول، واستخدم مفاتيح منفصلة لكل بيئة. إذا كنت تشغّل نماذج متعددة، Claude للتفكير، GPT للسرعة، Llama محلي لأي شيء يجب أن يبقى خاصًا، ستكون لديك عدة مفاتيح لإدارتها، لذا اضبط النمط بشكل صحيح مبكرًا. مسار Llama المحلي يستحق الجهد بالتحديد لأن البيانات الحساسة لا تغادر جهازك أبدًا.
الشبكات والعرض
لا تنشر منفذ OpenClaw مباشرة على الإنترنت. ضعه خلف وكيل عكسي (reverse proxy) (Caddy، Nginx، Traefik) يُنهي TLS ويتعامل مع المصادقة. الوكيل العكسي يحصل على المنفذ العام؛ الوكيل يستمع فقط على شبكة Docker الداخلية.
بضع قواعد نلتزم بها:
- اربط منفذ الوكيل بـ localhost أو الشبكة الداخلية، لا 0.0.0.0، إلا إذا كان الوكيل العكسي هو الشيء الوحيد الذي يصل إليه.
- أنهِ HTTPS عند الوكيل العكسي بشهادة حقيقية. قنوات مثل خطافات ويب (webhooks) Slack و Teams تتوقع TLS صالحًا.
- إذا كان الوكيل يحتاج فقط إلى مكالمات صادرة (إلى واجهات برمجة تطبيقات المزوّدين وخدمات القنوات)، أبقِ الوارد مقفلًا على نقاط نهاية الخطافات ومسار الإدارة الخاص بك.
- استخدم شبكة Docker مخصصة لحزمة OpenClaw حتى تتحدث الحاويات مع بعضها بالاسم دون كشف أي شيء إضافي.
لأتمتة المتصفح، تذكّر قفزة الموارد: الوكيل العادي مرتاح على 2 معالج افتراضي / 4 جيجابايت، لكن فعّل أتمتة المتصفح وستحتاج 8 جيجابايت أو أكثر، بالإضافة إلى تبعيات المتصفح بدون واجهة (headless) داخل الحاوية.
نمط compose يعمل
إليك شكل حزمة منطقية، موصوفة بدلًا من إلقائها كجدار من YAML. تحتاج ثلاث قطع منطقية:
- خدمة OpenClaw، مبنية من وسم صورة مثبّت، مع أحجام مُسمّاة للحالة، وملف env_file أو أسرار للمفاتيح، وسياسة إعادة تشغيل unless-stopped، وفحص صحة (healthcheck) يضرب نقطة نهاية حالتها، وحدود ذاكرة معقولة.
- خدمة وكيل عكسي، تنشر 80/443، تتعامل مع TLS، وتوجّه إلى الوكيل عبر الشبكة الداخلية.
- اختياريًا خدمة نموذج محلي إذا كنت تشغّل Llama لأعباء عمل خاصة، تشارك نفس الشبكة.
إعدادان يستحقان أهميتهما. فحص الصحة يتيح لـ Docker إعادة تشغيل الوكيل عندما يتعطل بدلًا من تركه ميتًا جزئيًا. وسياسة إعادة التشغيل تعني أن إعادة تشغيل المضيف تُعيد كل شيء دون أن تحتاج للاتصال عبر SSH منتصف الليل. اضبط حدود الموارد أيضًا، أتمتة المتصفح يمكن أن تُضخّم استهلاك الذاكرة، والحد يحمي بقية الجهاز.
أبقِ ملف compose والتهيئة القابلة للقراءة فقط في مستودع خاص. أبقِ الأسرار خارجه. ذلك المستودع بالإضافة إلى أحجامك المُسمّاة هو نشرك بأكمله، وهو بالضبط قابلية إعادة الإنتاج التي حوسلت من أجلها.
التحديثات دون درامية
يجب أن تكون حلقة التحديث مملة، والملل هو الهدف:
- اقرأ ملاحظات الإصدار. OpenClaw يتحرك بسرعة ويُغيّر أحيانًا توقعات التهيئة بين الإصدارات.
- اسحب وسم الصورة الجديد إلى بيئة الاختبار (أو مشروع compose قابل للتخلص منه) واختبر القنوات وبضعة تدفقات عمل حقيقية.
- انسخ أحجامك المُسمّاة احتياطيًا أولًا، لقطة سريعة أو نسخ حجم، تحسبًا لأن يلمس ترحيل ما الحالة المخزّنة.
- حدّث الوسم في الإنتاج، أعد التشغيل، راقب فحص الصحة والسجلات.
- إذا كان هناك خطأ ما، ارجع إلى الوسم السابق وأعد التشغيل. لأنك ثبّتّ الإصدارات ونسخت الحالة احتياطيًا، التراجع عملية تستغرق دقيقة واحدة، لا حادثة.
لا تشغّل :latest في الإنتاج أبدًا. ثبّت إصدارًا محددًا حتى لا يعيد دفع من المنبع تشغيل وكيلك على إصدار لم تختبره.
مثال من الخليج: إعداد متعدد العملاء لوكالة في دبي
تدير وكالة رقمية في دبي OpenClaw لعدة عملاء من خادم افتراضي خاص (VPS) واحد. مباشرة على الجهاز، كان ذلك سيصبح شبكة معقدة من تهيئات متضاربة وبيانات اعتماد مشتركة تنتظر التسرب. محوسلًا، يحصل كل عميل على حزمة معزولة على شبكة Docker خاصة به، وأحجام مُسمّاة خاصة به، وأسرار خاصة به، وإصدار مثبّت خاص به. يمكن لعميل واحد البقاء على إصدار مستقر بينما يختبر آخر إصدارًا جديدًا. عندما يغادر عميل، تفكك الوكالة تلك الحزمة وتحذف أحجامها، دون أي بقايا على المضيف أو في بيانات العملاء الآخرين. ذلك الفصل النظيف، التشغيلي وسرية العملاء على حد سواء، هو نوع الأشياء التي تحتاجها الشركات الإماراتية بشكل متزايد مع دفع البلاد نحو الذكاء الاصطناعي الوكيل على مدى عامين يجذب المزيد من الشركات الصغيرة والمتوسطة نحو الاستضافة الذاتية.
بالنسبة لتزويد الخادم الأساسي الذي يقوم عليه كل هذا، يغطي دليلنا حول كيفية التثبيت على خادم افتراضي خاص (VPS) الإعداد على مستوى المضيف قبل دخول Docker إلى الصورة.
الأسئلة الشائعة
هل أخسر أداءً بتشغيل OpenClaw في Docker؟
بشكل ضئيل جدًا. عبء الحاوية ضئيل لعبء عمل كهذا. المحرّك الحقيقي للموارد هو أتمتة المتصفح، التي تريد 8 جيجابايت أو أكثر سواء حوسلت أم لا. فوائد العزل والتراجع تفوق بكثير العبء الضئيل.
كيف أحافظ على جلسات واتساب وتيليجرام عبر إعادة التشغيل؟
ثبّت دليل جلسة وتهيئة OpenClaw في حجم مُسمّى. جلسات القنوات تلك تعيش هناك، وإذا نجا الحجم، لن تحتاج لإعادة المصادقة أو إعادة مسح رموز QR في كل مرة تُعاد فيها تشغيل الحاوية.
هل يمكنني تشغيل نموذج Llama المحلي في نفس حزمة compose؟
نعم، أضفه كخدمة منفصلة على نفس الشبكة الداخلية ووجّه OpenClaw إليها. هذا يبقي أعباء العمل الخاصة بالكامل على جهازك بينما لا تزال تستخدم Claude أو GPT للمهام التي تهم فيها القدرة أو السرعة أكثر من المحلية.
ما هو أكبر فخ في تشغيل OpenClaw على Docker؟
نسيان استمرارية الحالة، ثم فقدان كل جلسة وتهيئة في أول إعادة تشغيل. القريب الثاني هو الالتزام بالأسرار في ملف compose. اضبط الأحجام والأسرار بشكل صحيح من اليوم الأول والباقي يكون مباشرًا.
نشر محوسل نظيف معزول وسهل التراجع عنه هو الأساس الذي يقوم عليه كل شيء آخر، وضبطه بشكل خاطئ بصمت أسوأ من عدم فعله على الإطلاق. إذا كنت تفضّل أن يُبنى ويُحصَّن بشكل صحيح من المرة الأولى، تغطي خدمة إعداد OpenClaw لدينا التهيئة والتكامل والمراقبة والتحسين المستمر. تواصل معنا عبر team@ins.ae أو +971 58 995 4553 وسنصمم الحزمة حول أعباء عملك.

