agents.defaults.sandbox، لكن العزل معطّل افتراضيًا ولا يتطلب تشغيل Gateway نفسه داخل Docker. تتوفر أيضًا واجهات خلفية للعزل عبر SSH وOpenShell؛ راجع العزل.
هل تستضيف عدة مستخدمين؟ راجع الاستضافة متعددة المستأجرين للاطلاع على نموذج خلية واحدة لكل مستأجر.
المتطلبات الأساسية
- Docker Desktop (أو Docker Engine) + Docker Compose v2
- ذاكرة RAM بسعة 2 GB على الأقل لبناء الصورة (قد تُنهى
pnpm installبسبب نفاد الذاكرة على مضيفين بسعة 1 GB مع رمز الخروج 137) - مساحة قرص كافية للصور والسجلات
- على VPS/مضيف عام، راجع تعزيز الأمان عند التعرض للشبكة، ولا سيما سلسلة جدار الحماية
DOCKER-USERفي Docker
Gateway داخل حاوية
بناء الصورة
openclaw:local. لاستخدام صورة مبنية مسبقًا بدلًا من ذلك:openclaw/openclaw:ghcr.io/openclaw/openclaw أو openclaw/openclaw وتجنب النسخ المطابقة غير الرسمية، لأنها لا تتبع توقيت إصدارات OpenClaw أو سياسة الاحتفاظ الخاصة به. الوسوم الرسمية: main وlatest و<version> (مثل 2026.2.26)، ووسوم الإصدار التجريبي مثل 2026.2.26-beta.1 (لا تنقل الإصدارات التجريبية مطلقًا latest/main). تتضمن صورة main/latest/<version> الافتراضية ملحقي codex وdiagnostics-otel. ويتوفر أيضًا متغير -browser (مثل latest-browser) مع Chromium مضمّنًا، وهو مفيد لأداة المتصفح المعزول من دون تثبيت Playwright عند التشغيل الأول.إعادة التشغيل في بيئة معزولة عن الشبكة
--offline من أن OPENCLAW_IMAGE موجودة محليًا بالفعل، ويعطّل عمليات السحب/البناء الضمنية في Compose، ثم يشغّل المسار المعتاد: مزامنة .env، وإصلاحات الأذونات، والتهيئة الأولية، ومزامنة إعدادات Gateway، وبدء Compose.إذا كانت OPENCLAW_SANDBOX=1، فإن الإعداد دون اتصال يتحقق أيضًا من صور العزل الافتراضية والمحددة لكل وكيل على البرنامج الخفي خلف OPENCLAW_DOCKER_SOCKET، بما في ذلك تسمية عقد المتصفح على صور المتصفح المدعومة بـ Docker. إذا كانت صورة مطلوبة مفقودة أو قديمة، يخرج الإعداد دون تغيير إعدادات العزل بدلًا من الإبلاغ عن نجاح زائف.إكمال التهيئة الأولية
- يطلب مفاتيح API الخاصة بالموفّر
- ينشئ رمز Gateway مميزًا ويكتبه في
.env - ينشئ دليل المفتاح السري لملف تعريف المصادقة
- يشغّل Gateway عبر Docker Compose
openclaw-gateway مباشرةً (باستخدام --no-deps --entrypoint node)، لأن openclaw-cli تشترك في مساحة أسماء شبكة Gateway ولا تعمل إلا بعد وجود حاوية Gateway.فتح واجهة التحكم
http://127.0.0.1:18789/ والصق الرمز المميز المكتوب في .env ضمن Settings. إذا بدّلت الحاوية إلى المصادقة بكلمة مرور، فاستخدم كلمة المرور تلك بدلًا من ذلك.هل تحتاج إلى عنوان URL مرة أخرى؟المسار اليدوي
.git. مرّر هوية المصدر كوسيطات بناء
كما هو موضح أعلاه، لكي تعرض شاشة «حول» في الصورة الالتزام المسحوب
وطابعًا زمنيًا واحدًا للبناء. يحل scripts/docker/setup.sh القيمتين ويمررهما
تلقائيًا.
docker compose من جذر المستودع. إذا مكّنت OPENCLAW_EXTRA_MOUNTS أو OPENCLAW_HOME_VOLUME، يكتب برنامج الإعداد النصي docker-compose.extra.yml؛ أدرجه بعد أي docker-compose.override.yml تديره بنفسك، مثل -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.extra.yml.ترقية صور الحاويات
عندما تستبدل صورة OpenClaw مع الاحتفاظ بالحالة/الإعدادات الموصولة نفسها، يشغّل Gateway الجديد ترحيلات ترقية آمنة عند بدء التشغيل وتقارب Plugin قبل الجاهزية. ينبغي ألا تتطلب ترقيات الصور الروتينية تنفيذًا منفصلًا لـopenclaw doctor --fix.
إذا تعذر على بدء التشغيل إكمال هذه الإصلاحات بأمان، يخرج Gateway بدلًا من
الإبلاغ بأنه سليم. مع وجود سياسة إعادة تشغيل، قد تعرض Docker أو Podman أو Kubernetes
حاوية Gateway وهي تعيد التشغيل. احتفظ بوحدة تخزين الحالة الموصولة، ثم شغّل
الصورة نفسها مرة واحدة باستخدام openclaw doctor --fix كأمر للحاوية، مع استخدام
عمليات وصل الحالة/الإعدادات نفسها التي يستخدمها Gateway:
متغيرات البيئة
المتغيرات الاختيارية التي تقبلهاscripts/docker/setup.sh (وكذلك docker-compose.yml مباشرةً بالنسبة إلى حاوية Gateway):
brew؛ وفّر تلك الاعتماديات من خلال صورة مخصصة أو ثبّتها يدويًا. استخدم OPENCLAW_IMAGE_APT_PACKAGES للاعتماديات المحزّمة لـ Debian وOPENCLAW_IMAGE_PIP_PACKAGES لاعتماديات Python (يشغّل python3 -m pip install --break-system-packages وقت البناء، لذا ثبّت الإصدارات واستخدم الفهارس التي تثق بها فقط).
إذا أبلغ Docker عن ResourceExhausted أو cannot allocate memory، أو أوقف العملية أثناء tsdown، فارفع حد ذاكرة أداة بناء Docker أو أعد المحاولة باستخدام أكوام صريحة أصغر:
الصور المبنية من المصدر مع Plugins محددة
OPENCLAW_EXTENSIONS يحدّد معرّفات بيانات تعريف Plugins من نسخة المصدر؛
كما تُقبل أسماء أدلة المصدر الحالية عندما تختلف. يحوّل بناء Docker
التحديد إلى أدلة مصدر مرة واحدة، ويثبّت تبعيات الإنتاج،
وعندما يُنشر Plugin محدد بصورة منفصلة باستخدام
openclaw.build.bundledDist: false، يترجم وقت تشغيله إلى حزمة
dist الجذرية المضمّنة. لا تغيّر هذه الحزمة الخاصة بـ Docker عقد عناصر npm أو ClawHub
الخاصة بالـ Plugin. تؤدي المعرّفات المجهولة أو غير الصالحة أو الملتبسة إلى فشل بناء الصورة.
تحتفظ معرّفات التبعيات/المصدر فقط المعروفة بتجهيز المصدر والتبعيات الحالي
من دون الحصول على مُدخل dist جذري مترجم. يجب أن ينجح تجميع Plugin محدد
ذي مُدخلات بناء موحّدة؛ وتُزال مخرجات المصدر ووقت التشغيل الخاصة بـ Plugins
الخارجية غير المحددة.
على سبيل المثال، تنشئ هذه الأوامر صور Gateway مستقلة ومنفصلة ومتعددة البنى
لـ FakeCo من أجل ClickClack وSlack وMicrosoft Teams. يشكّل ClawRouter
بالفعل جزءًا من وقت تشغيل OpenClaw الجذري، لذا تحدد صورة ClickClack فقط
clickclack. تُبقي وسيطة المتصفح الفارغة الصريحة الصورة الافتراضية خالية
من Chromium:
--platform linux/arm64 --load أو --platform linux/amd64 --load لإجراء
بناء محلي أصلي لمنصة واحدة. تتطلب المخرجات متعددة المنصات وSBOM/إثبات المنشأ
المرفق سجلًا أو مخرج Buildx آخر يحافظ على الإقرارات. بعد
الدفع، افحص بيان الصورة وانشر الملخص الثابت بدلًا من وسم
SHA المصدر القابل للتغيير:
OPENCLAW_EXTRA_MOUNTS=/path/to/fork/extensions/synology-chat:/app/extensions/synology-chat:ro. يتجاوز ذلك حزمة /app/dist/extensions/synology-chat المترجمة المطابقة لمعرّف Plugin نفسه.
قابلية الرصد
يكون تصدير OpenTelemetry صادرًا من حاوية Gateway إلى جامع OTLP لديك؛ ولا يحتاج إلى منفذ Docker منشور. لتضمين المُصدّر المضمّن في صورة منشأة محليًا:diagnostics-otel بالفعل؛ ثبّت clawhub:@openclaw/diagnostics-otel بنفسك فقط إذا أزلته. لتمكين التصدير، اسمح بالـ Plugin diagnostics-otel وفعّله في الإعدادات، ثم عيّن diagnostics.otel.enabled=true (راجع المثال الكامل في تصدير OpenTelemetry). تمر ترويسات مصادقة الجامع عبر diagnostics.otel.headers، وليس عبر متغيرات بيئة Docker.
تعيد مقاييس Prometheus استخدام منفذ Gateway المنشور بالفعل. ثبّت clawhub:@openclaw/diagnostics-prometheus، وفعّل Plugin diagnostics-prometheus، ثم نفّذ الاستخلاص:
/metrics عامًا منفصلًا أو مسار وكيل عكسي بلا مصادقة. راجع مقاييس Prometheus.
فحوصات السلامة
نقاط نهاية فحص الحاوية (لا تتطلب مصادقة):HEALTHCHECK المضمّن في الصورة طلب فحص إلى /healthz؛ وتضع حالات الفشل المتكررة علامة unhealthy على الحاوية لكي تتمكن أنظمة التنسيق من إعادة تشغيلها أو استبدالها.
لقطة سلامة عميقة موثّقة:
الشبكة المحلية مقابل الاسترجاع الحلقي
يضبطscripts/docker/setup.sh القيمة الافتراضية OPENCLAW_GATEWAY_BIND=lan لكي يعمل http://127.0.0.1:18789 على المضيف مع نشر منفذ Docker.
lan(الافتراضي): يمكن لمتصفح المضيف وCLI المضيف الوصول إلى منفذ Gateway المنشور.loopback: لا يمكن الوصول مباشرةً إلى Gateway إلا من العمليات داخل مساحة أسماء شبكة الحاوية.
gateway.bind (lan / loopback / custom / tailnet / auto)، وليس أسماء المضيف البديلة مثل 0.0.0.0 أو 127.0.0.1.المزوّدون المحليون على المضيف
داخل الحاوية، يشير127.0.0.1 إلى الحاوية نفسها، لا إلى المضيف. استخدم host.docker.internal للمزوّدين العاملين على المضيف:
docker-compose.yml host.docker.internal ببوابة المضيف على Docker Engine في Linux (يوفّر Docker Desktop الاسم البديل نفسه على macOS/Windows). يجب أن تستمع خدمات المضيف على عنوان يستطيع Docker الوصول إليه:
docker run؟ أضف الربط نفسه بنفسك، مثل --add-host=host.docker.internal:host-gateway.
الواجهة الخلفية لـ Claude CLI في Docker
لا تثبّت الصورة الرسمية Claude Code مسبقًا. ثبّته وسجّل الدخول داخل مستخدم الحاويةnode، ثم اجعل مجلد الحاوية الرئيسي دائمًا كي لا تمحو ترقيات الصورة الملف التنفيذي أو حالة المصادقة.
لتثبيت جديد، فعّل وحدة تخزين /home/node دائمة قبل تشغيل الإعداد:
.env الحالية أولًا — يعيد برنامج الإعداد النصي دائمًا كتابة .env من الصدفة الحالية والقيم الافتراضية، ولا يقرأ الملف من تلقاء نفسه:
.env على قيم لا تستطيع الصدفة تحميلها، فأعد تصدير ما تعتمد عليه يدويًا أولًا (OPENCLAW_IMAGE، والمنافذ، ووضع الربط، والمسارات المخصصة، وOPENCLAW_EXTRA_MOUNTS، ووضع الحماية، وتخطي الإعداد الأولي). يثبّت التراكب المُنشأ وحدة التخزين الرئيسية لكل من openclaw-gateway وopenclaw-cli؛ نفّذ الأوامر المتبقية باستخدام ذلك التراكب (وdocker-compose.override.yml أولًا، إذا كنت تستخدم واحدًا):
claude إلى /home/node/.local/bin/claude. وجّه OpenClaw إلى ذلك المسار:
claude-cli:
OPENCLAW_HOME_VOLUME التثبيت الأصلي دائمًا ضمن /home/node/.local/bin و/home/node/.local/share/claude، بالإضافة إلى إعدادات/مصادقة Claude Code ضمن /home/node/.claude و/home/node/.claude.json. لا يكفي جعل /home/node/.openclaw دائمًا وحده؛ إذا كنت تستخدم OPENCLAW_EXTRA_MOUNTS بدلًا من وحدة تخزين رئيسية، فثبّت جميع مسارات Claude تلك في كلتا الخدمتين.
Bonjour / mDNS
لا تمرّر شبكة جسر Docker عادةً بث Bonjour/mDNS المتعدد (224.0.0.251:5353) بصورة موثوقة. عندما لا يكون OPENCLAW_DISABLE_BONJOUR معيّنًا، يعطّل Plugin Bonjour المضمّن تلقائيًا الإعلان على الشبكة المحلية بمجرد اكتشاف أنه يعمل داخل حاوية، كي لا يدخل في حلقة أعطال أثناء إعادة محاولة البث المتعدد الذي يسقطه الجسر. عيّن OPENCLAW_DISABLE_BONJOUR=1 لفرض تعطيله بصرف النظر عن الاكتشاف، أو 0 لفرض تفعيله (على شبكة المضيف أو macvlan أو شبكة أخرى يُعرف أن بث mDNS المتعدد يعمل عليها فقط).
استخدم عنوان URL المنشور لـ Gateway أو Tailscale أو DNS-SD واسع النطاق لمضيفي Docker في الحالات الأخرى. راجع اكتشاف Bonjour للاطلاع على المحاذير واستكشاف الأخطاء وإصلاحها.
التخزين والاستمرارية
يثبّت Docker Compose بالربطOPENCLAW_CONFIG_DIR إلى /home/node/.openclaw، وOPENCLAW_WORKSPACE_DIR إلى /home/node/.openclaw/workspace، وOPENCLAW_AUTH_PROFILE_SECRET_DIR إلى /home/node/.config/openclaw، بحيث تبقى هذه المسارات بعد استبدال الحاوية. عندما لا يكون أحد المتغيرات معيّنًا، يعود docker-compose.yml إلى مسار ضمن ${HOME}، أو /tmp إذا كان HOME نفسه مفقودًا، بحيث لا يُنتج docker compose up أبدًا مواصفة وحدة تخزين ذات مصدر فارغ في البيئات الأساسية.
يحتوي دليل الإعدادات المثبّت على:
openclaw.jsonلإعدادات السلوكagents/<agentId>/agent/auth-profiles.jsonلمصادقة OAuth/مفتاح API المخزنة الخاصة بالمزوّد.envلأسرار وقت التشغيل المدعومة بالبيئة مثلOPENCLAW_GATEWAY_TOKEN
OPENCLAW_CONFIG_DIR.
تخزّن Plugins المثبّتة القابلة للتنزيل حالة الحزمة ضمن مجلد OpenClaw الرئيسي المثبّت، بحيث تبقى سجلات التثبيت وجذور الحزم بعد استبدال الحاوية؛ ولا تعيد بداية تشغيل Gateway إنشاء أشجار تبعيات Plugins المضمّنة.
للحصول على التفاصيل الكاملة حول الاستمرارية في الجهاز الافتراضي، راجع وقت تشغيل جهاز Docker الافتراضي - ما الذي يبقى وأين.
مواضع النمو السريع للقرص: media/، وقواعد بيانات SQLite لكل وكيل، ونصوص جلسات JSONL القديمة، وقاعدة بيانات حالة SQLite المشتركة، وجذور حزم Plugins المثبّتة، وسجلات الملفات المتعاقبة ضمن /tmp/openclaw/.
أدوات الصدفة المساعدة (اختيارية)
لأوامر الاستخدام اليومي الأقصر، ثبّت ClawDock:scripts/shell-helpers/clawdock-helpers.sh الأقدم، فأعِد تشغيل الأمر أعلاه كي تتتبّع الأداة المساعدة المحلية الموقع الحالي. ثم استخدم clawdock-start وclawdock-stop وclawdock-dashboard وما إلى ذلك (شغّل clawdock-help للاطلاع على القائمة الكاملة).
تمكين عزل الوكيل لـ Gateway المستند إلى Docker
تمكين عزل الوكيل لـ Gateway المستند إلى Docker
docker.sock إلا بعد اجتياز المتطلبات الأساسية للعزل. إذا تعذّر إكمال إعداد العزل، فإنه يعيد ضبط agents.defaults.sandbox.mode إلى off. يُعطَّل وضع التعليمات البرمجية في Codex أثناء الأدوار التي يكون فيها عزل OpenClaw نشطًا (راجع العزل § الواجهة الخلفية لـ Docker)؛ ولا تركّب مطلقًا مقبس Docker الخاص بالمضيف داخل حاويات عزل الوكيل.الأتمتة / CI (غير تفاعلي)
الأتمتة / CI (غير تفاعلي)
-T:ملاحظة أمان الشبكة المشتركة
ملاحظة أمان الشبكة المشتركة
openclaw-cli network_mode: "service:openclaw-gateway" كي تتمكن أوامر CLI من الوصول إلى Gateway عبر 127.0.0.1. تعامل مع هذا بوصفه حدّ ثقة مشتركًا. يُسقط إعداد Compose NET_RAW/NET_ADMIN ويمكّن no-new-privileges على كل من openclaw-gateway وopenclaw-cli.إخفاقات DNS في Docker Desktop ضمن openclaw-cli
إخفاقات DNS في Docker Desktop ضمن openclaw-cli
openclaw-cli ذات الشبكة المشتركة بعد إسقاط NET_RAW، ويظهر ذلك على هيئة EAI_AGAIN أثناء الأوامر المعتمدة على npm مثل openclaw plugins install. احتفظ بملف Compose المحصّن الافتراضي للتشغيل العادي. يعيد التجاوز أدناه الإمكانات الافتراضية لحاوية openclaw-cli فقط — استخدمه للأمر المنفرد الذي يحتاج إلى الوصول إلى السجل، لا بوصفه طريقة الاستدعاء الافتراضية:openclaw-cli طويلة التشغيل، فأعِد إنشاءها باستخدام التجاوز نفسه — لا يستطيع docker compose exec/docker exec تغيير إمكانات Linux في حاوية أُنشئت بالفعل.الأذونات وEACCES
الأذونات وEACCES
node (uid 1000). إذا ظهرت أخطاء أذونات على /home/node/.openclaw، فتأكد من أن عمليات الربط من المضيف مملوكة لـ uid 1000:blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root) متبوعًا بـ plugin present but blocked — إذ لا يتطابق uid الخاص بالعملية مع مالك دليل Plugin المركّب. يُفضّل التشغيل باستخدام uid 1000 الافتراضي وإصلاح ملكية ربط المضيف. لا تغيّر ملكية /path/to/openclaw-config/npm إلى root:root إلا إذا كنت تشغّل OpenClaw عمدًا بصلاحيات الجذر على المدى الطويل.إعادات بناء أسرع
إعادات بناء أسرع
pnpm install ما لم تتغير ملفات القفل:خيارات الحاوية للمستخدمين المتقدمين
خيارات الحاوية للمستخدمين المتقدمين
node من دون صلاحيات الجذر. للحصول على حاوية أكثر تكاملًا:- الاحتفاظ بـ
/home/node:export OPENCLAW_HOME_VOLUME="openclaw_home" - تضمين تبعيات النظام في الصورة:
export OPENCLAW_IMAGE_APT_PACKAGES="git curl jq" - تضمين تبعيات Python في الصورة:
export OPENCLAW_IMAGE_PIP_PACKAGES="requests==2.32.5 humanize==4.14.0" - تضمين Playwright Chromium في الصورة:
export OPENCLAW_INSTALL_BROWSER=1، أو استخدم وسم صورة-browserالرسمي - أو ثبّت متصفحات Playwright في وحدة تخزين دائمة:
- الاحتفاظ بتنزيلات المتصفح: استخدم
OPENCLAW_HOME_VOLUMEأوOPENCLAW_EXTRA_MOUNTS. يكتشف OpenClaw تلقائيًا Chromium المُدار بواسطة Playwright في الصورة على Linux.
OpenAI Codex OAuth (Docker بلا واجهة رسومية)
OpenAI Codex OAuth (Docker بلا واجهة رسومية)
بيانات الصورة الأساسية الوصفية
بيانات الصورة الأساسية الوصفية
node:24-bookworm-slim وتشغّل tini بوصفه PID 1 بحيث تُجمع العمليات المتوقفة وتُعالَج الإشارات بصورة صحيحة في الحاويات طويلة التشغيل. وتنشر تعليقات توضيحية للصورة الأساسية وفق OCI، بما فيها org.opencontainers.image.base.name وorg.opencontainers.image.source. يحدّث Dependabot ملخّص صورة Node الأساسية المثبّت؛ ولا تشغّل إصدارات النشر طبقة منفصلة لترقية التوزيعة. راجع تعليقات صور OCI التوضيحية.هل تعمل على VPS؟
راجع Hetzner (Docker VPS) ووقت تشغيل Docker VM لمعرفة خطوات النشر على آلة افتراضية مشتركة، بما يشمل تضمين الملفات الثنائية في الصورة والاستمرارية والتحديثات.عزل الوكيل
عند تمكينagents.defaults.sandbox مع الواجهة الخلفية لـ Docker، يشغّل Gateway أدوات الوكيل (الصدفة، وقراءة الملفات وكتابتها، وما إلى ذلك) داخل حاويات Docker معزولة، بينما يظل Gateway نفسه على المضيف — ما يوفر حاجزًا صلبًا حول جلسات الوكيل غير الموثوقة أو متعددة المستأجرين من دون وضع Gateway بأكمله داخل حاوية.
يمكن أن يكون نطاق العزل لكل وكيل (الافتراضي)، أو لكل جلسة، أو مشتركًا؛ ويحصل كل نطاق على مساحة عمل خاصة به مركّبة عند /workspace. ويمكن أيضًا ضبط سياسات السماح بالأدوات أو منعها، وعزل الشبكة، وحدود الموارد، وحاويات المتصفح.
للاطلاع على الإعداد الكامل والصور وملاحظات الأمان وملفات تعريف الوكلاء المتعددين:
- العزل — المرجع الكامل للعزل
- OpenShell — وصول تفاعلي إلى الصدفة داخل حاويات العزل
- عزل الوكلاء المتعددين وأدواتهم — تجاوزات خاصة بكل وكيل
التمكين السريع
docker build المضمّنة.
استكشاف الأخطاء وإصلاحها
الصورة مفقودة أو حاوية العزل لا تبدأ
الصورة مفقودة أو حاوية العزل لا تبدأ
scripts/sandbox-setup.sh (نسخة مصدرية مستنسخة) أو أمر docker build المضمّن من العزل § الصور والإعداد (تثبيت npm)، أو اضبط agents.defaults.sandbox.docker.image على صورتك المخصصة. تُنشأ الحاويات تلقائيًا لكل جلسة عند الطلب.أخطاء الأذونات في العزل
أخطاء الأذونات في العزل
docker.user على UID:GID يطابق ملكية مساحة العمل المركّبة، أو غيّر ملكية مجلد مساحة العمل.تعذّر العثور على الأدوات المخصصة في العزل
تعذّر العثور على الأدوات المخصصة في العزل
sh -lc (صدفة تسجيل دخول)، التي تحمّل /etc/profile وقد تعيد ضبط PATH. اضبط docker.env.PATH لإضافة مسارات أدواتك المخصصة في بداية PATH، أو أضف برنامجًا نصيًا ضمن /etc/profile.d/ في Dockerfile.إنهاء العملية بسبب نفاد الذاكرة أثناء بناء الصورة (رمز الخروج 137)
إنهاء العملية بسبب نفاد الذاكرة أثناء بناء الصورة (رمز الخروج 137)
عدم التخويل أو طلب الإقران في واجهة التحكم
عدم التخويل أو طلب الإقران في واجهة التحكم
يُظهر هدف Gateway ws://172.x.x.x أو تظهر أخطاء إقران من Docker CLI
يُظهر هدف Gateway ws://172.x.x.x أو تظهر أخطاء إقران من Docker CLI
ذو صلة
- نظرة عامة على التثبيت — جميع طرق التثبيت
- Podman — بديل Podman لـ Docker
- ClawDock — إعداد Docker Compose من المجتمع
- التحديث — إبقاء OpenClaw محدّثًا
- الإعداد — إعداد Gateway بعد التثبيت