الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Docker اختياري اختياري. استخدمه فقط إذا كنت تريد Gateway داخل حاوية أو التحقق من مسار Docker.

هل Docker مناسب لي؟

  • نعم: تريد بيئة Gateway معزولة ويمكن التخلص منها، أو تشغيل OpenClaw على مضيف من دون تثبيتات محلية.
  • لا: تعمل على جهازك الخاص وتريد فقط أسرع حلقة تطوير. استخدم مسار التثبيت العادي بدلًا من ذلك.
  • ملاحظة حول العزل: تستخدم واجهة العزل الخلفية الافتراضية Docker عند تمكين العزل، لكن العزل معطّل افتراضيًا ولا يتطلب أن يعمل Gateway بالكامل في Docker. تتوفر أيضًا واجهات العزل الخلفية SSH وOpenShell. راجع العزل.

المتطلبات المسبقة

  • Docker Desktop (أو Docker Engine) + Docker Compose v2
  • ذاكرة RAM لا تقل عن 2 GB لبناء الصورة (pnpm install قد يُنهى بسبب نفاد الذاكرة على مضيفات 1 GB مع رمز الخروج 137)
  • مساحة قرص كافية للصور والسجلات
  • إذا كنت تشغله على VPS/مضيف عام، فراجع تقوية الأمان للتعرض الشبكي، خصوصًا سياسة جدار الحماية Docker DOCKER-USER.

Gateway داخل حاوية

1

بناء الصورة

من جذر المستودع، شغّل سكربت الإعداد:
./scripts/docker/setup.sh
يؤدي هذا إلى بناء صورة Gateway محليًا. لاستخدام صورة مبنية مسبقًا بدلًا من ذلك:
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./scripts/docker/setup.sh
تُنشر الصور المبنية مسبقًا في GitHub Container Registry. الوسوم الشائعة: main، latest، <version> (مثلًا 2026.2.26).
2

إكمال التهيئة الأولية

يشغّل سكربت الإعداد التهيئة الأولية تلقائيًا. سيقوم بما يلي:
  • طلب مفاتيح API الخاصة بالمزوّد
  • إنشاء رمز Gateway وكتابته إلى .env
  • إنشاء دليل مفتاح سر ملف تعريف المصادقة
  • بدء تشغيل Gateway عبر Docker Compose
أثناء الإعداد، تُشغّل التهيئة الأولية قبل البدء وكتابات الإعدادات من خلال openclaw-gateway مباشرة. يُستخدم openclaw-cli للأوامر التي تشغّلها بعد أن تكون حاوية Gateway موجودة بالفعل.
3

فتح واجهة التحكم

افتح http://127.0.0.1:18789/ في متصفحك والصق السر المشترك المضبوط في الإعدادات. يكتب سكربت الإعداد رمزًا إلى .env افتراضيًا؛ إذا بدّلت إعداد الحاوية إلى مصادقة كلمة المرور، فاستخدم تلك الكلمة بدلًا من ذلك.هل تحتاج إلى عنوان URL مرة أخرى؟
docker compose run --rm openclaw-cli dashboard --no-open
4

إعداد القنوات (اختياري)

استخدم حاوية CLI لإضافة قنوات المراسلة:
# WhatsApp (QR)
docker compose run --rm openclaw-cli channels login

# Telegram
docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>"

# Discord
docker compose run --rm openclaw-cli channels add --channel discord --token "<token>"
الوثائق: WhatsApp، Telegram، Discord

المسار اليدوي

إذا كنت تفضّل تشغيل كل خطوة بنفسك بدلًا من استخدام سكربت الإعداد:
docker build -t openclaw:local -f Dockerfile .
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
  dist/index.js onboard --mode local --no-install-daemon
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
  dist/index.js config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"},{"path":"gateway.controlUi.allowedOrigins","value":["http://localhost:18789","http://127.0.0.1:18789"]}]'
docker compose up -d openclaw-gateway
شغّل docker compose من جذر المستودع. إذا فعّلت OPENCLAW_EXTRA_MOUNTS أو OPENCLAW_HOME_VOLUME، يكتب سكربت الإعداد docker-compose.extra.yml؛ قم بتضمينه باستخدام -f docker-compose.yml -f docker-compose.extra.yml.
لأن openclaw-cli يشارك مساحة أسماء الشبكة الخاصة بـ openclaw-gateway، فهو أداة تُستخدم بعد بدء التشغيل. قبل docker compose up -d openclaw-gateway، شغّل التهيئة الأولية وكتابات إعدادات وقت الإعداد من خلال openclaw-gateway باستخدام --no-deps --entrypoint node.

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

يقبل سكربت الإعداد متغيرات البيئة الاختيارية التالية:
المتغيرالغرض
OPENCLAW_IMAGEاستخدام صورة بعيدة بدلًا من البناء محليًا
OPENCLAW_DOCKER_APT_PACKAGESتثبيت حزم apt إضافية أثناء البناء (مفصولة بمسافات)
OPENCLAW_EXTENSIONSتضمين مساعدين محددين من Plugins المضمّنة وقت البناء
OPENCLAW_EXTRA_MOUNTSربطات تركيب إضافية للمضيف (مفصولة بفواصل source:target[:opts])
OPENCLAW_HOME_VOLUMEحفظ /home/node في مجلد Docker مسمّى
OPENCLAW_SANDBOXالاشتراك في تمهيد العزل (1، true، yes، on)
OPENCLAW_SKIP_ONBOARDINGتخطي خطوة التهيئة الأولية التفاعلية (1، true، yes، on)
OPENCLAW_DOCKER_SOCKETتجاوز مسار مقبس Docker
OPENCLAW_DISABLE_BONJOURتعطيل إعلان Bonjour/mDNS (القيمة الافتراضية 1 لـ Docker)
OPENCLAW_DISABLE_BUNDLED_SOURCE_OVERLAYSتعطيل طبقات تركيب ربط مصدر Plugin المضمّنة
OTEL_EXPORTER_OTLP_ENDPOINTنقطة نهاية مجمّع OTLP/HTTP مشتركة لتصدير OpenTelemetry
OTEL_EXPORTER_OTLP_*_ENDPOINTنقاط نهاية OTLP خاصة بالإشارات للتتبعات أو المقاييس أو السجلات
OTEL_EXPORTER_OTLP_PROTOCOLتجاوز بروتوكول OTLP. لا يُدعم اليوم إلا http/protobuf
OTEL_SERVICE_NAMEاسم الخدمة المستخدم لموارد OpenTelemetry
OTEL_SEMCONV_STABILITY_OPT_INالاشتراك في أحدث السمات الدلالية التجريبية لـ GenAI
OPENCLAW_OTEL_PRELOADEDتخطي بدء SDK ثانٍ لـ OpenTelemetry عند تحميل واحد مسبقًا
يمكن للمشرفين اختبار مصدر Plugin مضمّن مقابل صورة معبأة بتركيب دليل مصدر Plugin واحد فوق مسار مصدره المعبأ، مثلًا OPENCLAW_EXTRA_MOUNTS=/path/to/fork/extensions/synology-chat:/app/extensions/synology-chat:ro. يتجاوز دليل المصدر المركّب ذلك الحزمة المطابقة المترجمة /app/dist/extensions/synology-chat لمعرّف Plugin نفسه.

قابلية المراقبة

يكون تصدير OpenTelemetry صادرًا من حاوية Gateway إلى مجمّع OTLP الخاص بك. لا يتطلب ذلك منفذ Docker منشورًا. إذا بنيت الصورة محليًا وتريد أن يكون مصدّر OpenTelemetry المضمّن متاحًا داخل الصورة، فضمّن اعتماديات وقت تشغيله:
export OPENCLAW_EXTENSIONS="diagnostics-otel"
export OTEL_EXPORTER_OTLP_ENDPOINT="http://otel-collector:4318"
export OTEL_SERVICE_NAME="openclaw-gateway"
./scripts/docker/setup.sh
ثبّت Plugin الرسمي @openclaw/diagnostics-otel من ClawHub في تثبيتات Docker المعبأة قبل تمكين التصدير. لا تزال الصور المخصّصة المبنية من المصدر قادرة على تضمين مصدر Plugin المحلي باستخدام OPENCLAW_EXTENSIONS=diagnostics-otel. لتمكين التصدير، اسمح بتمكين Plugin diagnostics-otel في الإعدادات وفعّله، ثم عيّن diagnostics.otel.enabled=true أو استخدم مثال الإعدادات في تصدير OpenTelemetry . تُضبط ترويسات مصادقة المجمّع من خلال diagnostics.otel.headers، وليس من خلال متغيرات بيئة Docker. تستخدم مقاييس Prometheus منفذ Gateway المنشور بالفعل. ثبّت clawhub:@openclaw/diagnostics-prometheus، وفعّل Plugin diagnostics-prometheus، ثم اجمع المقاييس:
http://<gateway-host>:18789/api/diagnostics/prometheus
المسار محمي بمصادقة Gateway. لا تكشف منفذًا عامًا منفصلًا لـ /metrics أو مسار وكيل عكسيًا غير مصادق عليه. راجع مقاييس Prometheus.

فحوصات الصحة

نقاط نهاية فحص الحاوية (لا تتطلب مصادقة):
curl -fsS http://127.0.0.1:18789/healthz   # liveness
curl -fsS http://127.0.0.1:18789/readyz     # readiness
تتضمن صورة Docker أمر HEALTHCHECK مدمجًا يفحص /healthz. إذا استمرت الفحوصات بالفشل، يعلّم Docker الحاوية على أنها unhealthy ويمكن لأنظمة التنسيق إعادة تشغيلها أو استبدالها. لقطة صحة عميقة موثّقة:
docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLAW_GATEWAY_TOKEN"

LAN مقابل loopback

يضبط 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.

مزوّدو المضيف المحليون

عندما يعمل OpenClaw في Docker، فإن 127.0.0.1 داخل الحاوية هو الحاوية نفسها، وليس جهاز المضيف لديك. استخدم host.docker.internal لمزوّدي الذكاء الاصطناعي الذين يعملون على المضيف:
المزوّدعنوان URL الافتراضي للمضيفعنوان URL لإعداد Docker
LM Studiohttp://127.0.0.1:1234http://host.docker.internal:1234
Ollamahttp://127.0.0.1:11434http://host.docker.internal:11434
يستخدم إعداد Docker المضمّن عناوين URL الخاصة بالمضيف تلك كقيم افتراضية للتهيئة الأولية لـ LM Studio وOllama، ويربط docker-compose.yml الاسم host.docker.internal بـ Gateway المضيف في Docker لـ Linux Docker Engine. يوفر Docker Desktop بالفعل اسم المضيف نفسه على macOS وWindows. يجب أن تستمع خدمات المضيف أيضًا على عنوان يمكن الوصول إليه من Docker:
lms server start --port 1234 --bind 0.0.0.0
OLLAMA_HOST=0.0.0.0:11434 ollama serve
إذا كنت تستخدم ملف Compose الخاص بك أو أمر docker run، فأضف تعيين المضيف نفسه بنفسك، مثلًا --add-host=host.docker.internal:host-gateway.

Bonjour / mDNS

عادةً لا تمرر شبكات جسر Docker بث Bonjour/mDNS المتعدد (224.0.0.251:5353) بشكل موثوق. لذلك يضبط إعداد Compose المضمّن OPENCLAW_DISABLE_BONJOUR=1 افتراضيًا حتى لا يدخل Gateway في حلقة تعطل أو يعيد بدء الإعلان مرارًا عندما يسقط الجسر حركة البث المتعدد. استخدم عنوان URL المنشور لـ Gateway، أو Tailscale، أو DNS-SD واسع النطاق لمضيفي Docker. عيّن OPENCLAW_DISABLE_BONJOUR=0 فقط عند التشغيل مع شبكة المضيف، أو macvlan، أو شبكة أخرى يُعرف أن بث mDNS المتعدد يعمل فيها. للمشكلات الشائعة واستكشاف الأخطاء وإصلاحها، راجع اكتشاف 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 بما يلي:
  • openclaw.json لإعدادات السلوك
  • agents/<agentId>/agent/auth-profiles.json لمصادقة OAuth/API-key المحفوظة الخاصة بالمزوّدين
  • .env لأسرار وقت التشغيل المدعومة بالبيئة مثل OPENCLAW_GATEWAY_TOKEN
يخزّن دليل مفتاح سر ملف تعريف المصادقة مفتاح التشفير المحلي المستخدم لمواد رمز ملف تعريف المصادقة المدعومة بـ OAuth. احتفظ به مع حالة مضيف Docker لديك، لكن منفصلًا عن OPENCLAW_CONFIG_DIR. تخزّن Plugins القابلة للتنزيل والمثبتة حالة حِزمها ضمن مجلد OpenClaw الرئيسي المركّب، لذلك تبقى سجلات تثبيت Plugin وجذور الحِزم بعد استبدال الحاوية. لا ينشئ بدء تشغيل Gateway أشجار تبعيات Plugins المضمّنة. للحصول على التفاصيل الكاملة للاستمرارية في عمليات نشر VM، راجع وقت تشغيل Docker VM - ما الذي يستمر وأين. النقاط الأكثر تسببًا في نمو القرص: راقب media/، وملفات JSONL الخاصة بالجلسات، وcron/runs/*.jsonl، وجذور حِزم Plugin المثبتة، وسجلات الملفات الدوّارة ضمن /tmp/openclaw/.

مساعدات Shell (اختيارية)

لتسهيل إدارة Docker اليومية، ثبّت ClawDock:
mkdir -p ~/.clawdock && curl -sL https://raw.githubusercontent.com/openclaw/openclaw/main/scripts/clawdock/clawdock-helpers.sh -o ~/.clawdock/clawdock-helpers.sh
echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
إذا كنت قد ثبّت ClawDock من المسار الخام الأقدم scripts/shell-helpers/clawdock-helpers.sh، فأعد تشغيل أمر التثبيت أعلاه حتى يتتبع ملف المساعد المحلي الموقع الجديد. ثم استخدم clawdock-start، وclawdock-stop، وclawdock-dashboard، وما إلى ذلك. شغّل clawdock-help لكل الأوامر. راجع ClawDock للحصول على دليل المساعد الكامل.
export OPENCLAW_SANDBOX=1
./scripts/docker/setup.sh
مسار مقبس مخصص (مثل Docker دون root):
export OPENCLAW_SANDBOX=1
export OPENCLAW_DOCKER_SOCKET=/run/user/1000/docker.sock
./scripts/docker/setup.sh
لا يركّب السكربت docker.sock إلا بعد نجاح متطلبات وضع الحماية الأساسية. إذا تعذر إكمال إعداد وضع الحماية، يعيد السكربت ضبط agents.defaults.sandbox.mode إلى off. تظل جولات وضع كود Codex مقيّدة بـ Codex workspace-write أثناء نشاط وضع حماية OpenClaw؛ لا تركّب مقبس Docker الخاص بالمضيف داخل حاويات وضع حماية الوكلاء.
عطّل تخصيص Compose pseudo-TTY باستخدام -T:
docker compose run -T --rm openclaw-cli gateway probe
docker compose run -T --rm openclaw-cli devices list --json
يستخدم 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.
تفشل بعض إعدادات Docker Desktop في عمليات بحث DNS من حاوية openclaw-cli الجانبية ذات الشبكة المشتركة بعد إسقاط NET_RAW، ويظهر ذلك على شكل EAI_AGAIN أثناء الأوامر المدعومة بـ npm مثل openclaw plugins install. أبقِ ملف compose الافتراضي المشدّد لعملية Gateway العادية. يعمل التجاوز المحلي أدناه على تخفيف وضع أمان حاوية CLI عبر استعادة الإمكانات الافتراضية لـ Docker، لذلك استخدمه فقط لأمر CLI لمرة واحدة يحتاج إلى الوصول إلى سجل الحِزم، وليس كاستدعاء Compose الافتراضي لديك:
printf '%s\n' \
  'services:' \
  '  openclaw-cli:' \
  '    cap_drop: !reset []' \
  > docker-compose.cli-no-dropped-caps.local.yml

docker compose -f docker-compose.yml -f docker-compose.cli-no-dropped-caps.local.yml run --rm openclaw-cli plugins install <package>
إذا كنت قد أنشأت بالفعل حاوية openclaw-cli طويلة التشغيل، فأعد إنشاءها باستخدام التجاوز نفسه. لا يستطيع docker compose exec ولا docker exec تغيير إمكانات Linux على حاوية أُنشئت مسبقًا.
تعمل الصورة باسم node (uid 1000). إذا رأيت أخطاء أذونات على /home/node/.openclaw، فتأكد من أن عمليات bind mount على المضيف مملوكة لـ uid 1000:
sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspace
يمكن أن يظهر عدم التطابق نفسه كتحذير Plugin مثل blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root) متبوعًا بـ plugin present but blocked. يعني ذلك أن uid العملية ومالك دليل Plugin المركّب غير متفقين. يُفضّل تشغيل الحاوية بالـ uid 1000 الافتراضي وإصلاح ملكية bind mount. لا تستخدم chown على /path/to/openclaw-config/npm إلى root:root إلا إذا كنت تشغّل OpenClaw كـ root عمدًا على المدى الطويل.
رتّب Dockerfile بحيث تُخزّن طبقات التبعيات مؤقتًا. هذا يتجنب إعادة تشغيل pnpm install ما لم تتغير ملفات القفل:
FROM node:24-bookworm
RUN curl -fsSL https://bun.sh/install | bash
ENV PATH="/root/.bun/bin:${PATH}"
RUN corepack enable
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
COPY ui/package.json ./ui/package.json
COPY scripts ./scripts
RUN pnpm install --frozen-lockfile
COPY . .
RUN pnpm build
RUN pnpm ui:install
RUN pnpm ui:build
ENV NODE_ENV=production
CMD ["node","dist/index.js"]
الصورة الافتراضية تركّز على الأمان أولًا وتعمل كمستخدم node غير root. للحصول على حاوية أكثر اكتمالًا بالميزات:
  1. استمرارية /home/node: export OPENCLAW_HOME_VOLUME="openclaw_home"
  2. تضمين تبعيات النظام: export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq"
  3. تضمين Playwright Chromium: export OPENCLAW_INSTALL_BROWSER=1
  4. أو تثبيت متصفحات Playwright في مجلد مستمر:
    docker compose run --rm openclaw-cli \
      node /app/node_modules/playwright-core/cli.js install chromium
    
  5. استمرارية تنزيلات المتصفح: استخدم OPENCLAW_HOME_VOLUME أو OPENCLAW_EXTRA_MOUNTS. يكتشف OpenClaw تلقائيًا Chromium المُدار بواسطة Playwright في صورة Docker على Linux.
إذا اخترت OpenAI Codex OAuth في المعالج، فسيفتح URL في المتصفح. في Docker أو الإعدادات دون واجهة، انسخ URL إعادة التوجيه الكامل الذي تصل إليه والصقه مرة أخرى في المعالج لإكمال المصادقة.
تستخدم صورة وقت تشغيل Docker الرئيسية node:24-bookworm-slim وتتضمن tini كعملية init لنقطة الدخول (PID 1) لضمان حصاد العمليات الزومبي والتعامل مع الإشارات بشكل صحيح في الحاويات طويلة التشغيل. تنشر تعليقات توضيحية لصورة OCI الأساسية تشمل org.opencontainers.image.base.name, وorg.opencontainers.image.source، وغيرها. يتم تحديث ملخص قاعدة Node عبر PRs صور Docker الأساسية في Dependabot؛ لا تشغّل إصدارات النشر طبقة ترقية للتوزيعة. راجع تعليقات صور OCI التوضيحية.

هل تشغّل على VPS؟

راجع Hetzner (Docker VPS) و وقت تشغيل Docker VM لخطوات نشر VM المشتركة بما في ذلك تضمين الثنائيات، والاستمرارية، والتحديثات.

وضع حماية الوكيل

عند تفعيل agents.defaults.sandbox مع خلفية Docker، يشغّل Gateway تنفيذ أدوات الوكيل (shell، وقراءة/كتابة الملفات، وما إلى ذلك) داخل حاويات Docker معزولة بينما يبقى Gateway نفسه على المضيف. يمنحك هذا حاجزًا صارمًا حول جلسات الوكلاء غير الموثوقة أو متعددة المستأجرين دون وضع Gateway بالكامل داخل حاوية. يمكن أن يكون نطاق وضع الحماية لكل وكيل (افتراضيًا)، أو لكل جلسة، أو مشتركًا. يحصل كل نطاق على مساحة عمل خاصة به مركّبة عند /workspace. يمكنك أيضًا تكوين سياسات السماح/المنع للأدوات، وعزل الشبكة، وحدود الموارد، وحاويات المتصفح. للاطلاع على التكوين الكامل، والصور، وملاحظات الأمان، وملفات تعريف الوكلاء المتعددة، راجع:

تفعيل سريع

{
  agents: {
    defaults: {
      sandbox: {
        mode: "non-main", // off | non-main | all
        scope: "agent", // session | agent | shared
      },
    },
  },
}
ابنِ صورة وضع الحماية الافتراضية (من نسخة مصدر):
scripts/sandbox-setup.sh
لتثبيتات npm دون نسخة مصدر، راجع وضع الحماية § الصور والإعداد لأوامر docker build المضمّنة.

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

ابنِ صورة وضع الحماية باستخدام scripts/sandbox-setup.sh (نسخة مصدر) أو أمر docker build المضمّن من وضع الحماية § الصور والإعداد (تثبيت npm)، أو اضبط agents.defaults.sandbox.docker.image على صورتك المخصصة. تُنشأ الحاويات تلقائيًا لكل جلسة عند الطلب.
اضبط docker.user على UID:GID يطابق ملكية مساحة العمل المركّبة لديك، أو غيّر ملكية مجلد مساحة العمل باستخدام chown.
يشغّل OpenClaw الأوامر باستخدام sh -lc (login shell)، والذي يقرأ /etc/profile وقد يعيد ضبط PATH. اضبط docker.env.PATH لإضافة مسارات أدواتك المخصصة في المقدمة، أو أضف سكربتًا ضمن /etc/profile.d/ في Dockerfile.
تحتاج VM إلى ذاكرة RAM لا تقل عن 2 GB. استخدم فئة آلة أكبر وأعد المحاولة.
اجلب رابط لوحة تحكم جديدًا ووافق على جهاز المتصفح:
docker compose run --rm openclaw-cli dashboard --no-open
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestId>
مزيد من التفاصيل: لوحة التحكم، الأجهزة.
أعد ضبط وضع Gateway والربط:
docker compose run --rm openclaw-cli config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"}]'
docker compose run --rm openclaw-cli devices list --url ws://127.0.0.1:18789

ذو صلة