انتقل إلى المحتوى

Daytona

تتيح Daytona لـ Termbridge تشغيل طرفيتك ومعاينتك في بيئة سحابية معزولة. استخدمها عندما تريد بيئة قابلة لإعادة الإنتاج، أو معاينة سحابية، أو إبقاء حاسوبك المحمول في وضع الخمول.

المتطلبات

  • مفتاح Daytona API
  • مستودع URL يمكن للبيئة المعزولة استنساخه
  • بيانات اعتماد Git إذا كان المستودع خاصًا

البدء السريع

عيّن الواجهة الخلفية إلى Daytona ووفّر إعدادات المستودع:

سطر الأوامر
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_DAYTONA_API_KEY=your_key
export TERMBRIDGE_SANDBOX_REPO=https://github.com/you/your-repo.git
export TERMBRIDGE_SANDBOX_BRANCH=main
export TERMBRIDGE_SANDBOX_PATH=your-repo
export TERMBRIDGE_SANDBOX_NAME=termbridge-sandbox
export TERMBRIDGE_SANDBOX_PUBLIC=true
export TERMBRIDGE_SANDBOX_PREVIEW_PORT=5173
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

ثم شغّل Termbridge كالمعتاد:

سطر الأوامر
npx termbridge

احرص دائمًا على تعيين TERMBRIDGE_SANDBOX_REPO (أو --sandbox-repo). إذا لم تُعيّن، فسيستخدم Termbridge حاليًا مستودعًا افتراضيًا مضمّنًا لا يمكن الوصول إليه علنًا، ما يؤدي إلى إنشاء البيئة المعزولة وفشل الاستنساخ (#2).

اتصال Daytona

المتغير الغرض
TERMBRIDGE_DAYTONA_API_KEY مفتاح API الخاص بك في Daytona
TERMBRIDGE_DAYTONA_API_URL نقطة نهاية API (الافتراضية https://app.daytona.io/api)
TERMBRIDGE_DAYTONA_TARGET المنطقة المستهدفة في Daytona (اختياري)

تُمرر هذه القيم إلى Daytona SDK. عند ترك إحداها دون تعيين، يستخدم SDK متغيره الخاص DAYTONA_API_KEY أو DAYTONA_API_URL أو DAYTONA_TARGET.

وضع البيئة المعزولة المباشر (بلا نفق)

يشغّل الوضع المباشر خادم Termbridge داخل البيئة المعزولة ويتجاوز Cloudflare بالكامل. رابط مشاركة URL هو رابط معاينة Daytona للخادم داخل البيئة المعزولة.

سطر الأوامر
export TERMBRIDGE_BACKEND=sandbox-daytona
export TERMBRIDGE_SANDBOX_DIRECT=true
export TERMBRIDGE_SANDBOX_SERVER_PORT=8080

تكون القيمة الافتراضية لـ TERMBRIDGE_SANDBOX_SERVER_PORT (أو --port) هي 8080. ينشئ الوضع المباشر بيئة معزولة عامة ما لم تعيّن TERMBRIDGE_SANDBOX_PUBLIC=false، كما يخفي UI مبدّل الطرفيات.

لا يزال بإمكانك تفعيل المعاينة بتعيين TERMBRIDGE_SANDBOX_PREVIEW_PORT؛ ففي الوضع المباشر يُمرر كمنفذ الخادم --proxy.

استنساخ المستودع

سينشئ Termbridge بيئة معزولة ويستنسخ مستودعك إلى دليل العمل فيها.

استخدم هذه الإعدادات:

المتغير الغرض
TERMBRIDGE_SANDBOX_REPO المستودع URL المراد استنساخه (اضبطه دائمًا، راجع البدء السريع)
TERMBRIDGE_SANDBOX_BRANCH الفرع المراد سحبه (اختياري)
TERMBRIDGE_SANDBOX_PATH مسار المستودع في البيئة المعزولة (اختياري)
TERMBRIDGE_SANDBOX_NAME اسم البيئة المعزولة (اختياري، والافتراضي هو termbridge-<random hex>)

إذا لم يتم ضبط TERMBRIDGE_SANDBOX_PATH، فسيستنتجه Termbridge من اسم المستودع.

المستودعات الخاصة

قدّم بيانات اعتماد git عند استنساخ المستودعات الخاصة:

سطر الأوامر
export TERMBRIDGE_SANDBOX_GIT_USERNAME=your_github_username
export TERMBRIDGE_SANDBOX_GIT_TOKEN=your_github_token

يدعم أيضًا TERMBRIDGE_SANDBOX_GIT_PASSWORD، وله الأولوية على الرمز المميز إذا تم ضبطه.

وكلاء البرمجة

يمكن لـ Termbridge تثبيت وكلاء البرمجة داخل البيئة المعزولة ومزامنة بيانات المصادقة المحلية لتكون جاهزة فورًا.

راجع دليل وكلاء البرمجة للاطلاع على الإعداد الكامل والوضع التلقائي وتفاصيل الأمان.

وضع المعاينة

لعرض المعاينة، اضبط TERMBRIDGE_SANDBOX_PREVIEW_PORT على المنفذ الذي يستخدمه خادم التطوير داخل البيئة المعزولة.

في Vite، تأكد من ربط الخادم بجميع الواجهات:

سطر الأوامر
npm run dev -- --host 0.0.0.0 --port 5173

يجلب Termbridge رابط المعاينة من Daytona ويمرره عبر خادم Termbridge حتى تُحمّل المعاينة داخل UI.

البيئات المعزولة العامة والخاصة

المتغير وظيفته
TERMBRIDGE_SANDBOX_PUBLIC=true ينشئ بيئة معزولة عامة
TERMBRIDGE_SANDBOX_PUBLIC=false ينشئ بيئة معزولة خاصة

عند عدم ضبط المتغير، تكون البيئات المعزولة خاصة، باستثناء الوضع المباشر حيث تكون عامة.

بالنسبة إلى البيئات المعزولة الخاصة، يمرر Termbridge رمز المعاينة تلقائيًا عند تمرير المعاينة.

التنظيف ودورة الحياة

لحذف البيئات المعزولة عند خروج Termbridge:

سطر الأوامر
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

للبيئات المعزولة قصيرة الأجل أو الاختبارية، استخدم بادئة:

سطر الأوامر
export TERMBRIDGE_SANDBOX_NAME=termbridge-test-$(date +%s)
export TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true

يساعد ذلك على ضبط استخدام البيئة المعزولة وتجنب مشكلات حصص القرص.

علامات CLI

يمكنك أيضًا ضبط Daytona عبر العلامات. وتكون للعلامة أولوية على متغير البيئة المطابق.

العلامة متغير البيئة الغرض
--backend sandbox-daytona TERMBRIDGE_BACKEND استخدام الواجهة الخلفية لـ Daytona
--sandbox-repo <url> TERMBRIDGE_SANDBOX_REPO مستودع URL
--sandbox-branch <branch> TERMBRIDGE_SANDBOX_BRANCH الفرع
--sandbox-path <path> TERMBRIDGE_SANDBOX_PATH مسار المستودع في البيئة المعزولة
--sandbox-name <name> TERMBRIDGE_SANDBOX_NAME اسم البيئة المعزولة
--sandbox-preview-port <port> TERMBRIDGE_SANDBOX_PREVIEW_PORT منفذ المعاينة
--sandbox-public TERMBRIDGE_SANDBOX_PUBLIC=true إنشاء بيئة معزولة عامة
--sandbox-direct TERMBRIDGE_SANDBOX_DIRECT=true تشغيل الخادم داخل البيئة المعزولة (من دون نفق)

لا توجد علامة للبيئة المعزولة الخاصة؛ استخدم TERMBRIDGE_SANDBOX_PUBLIC=false. ويظل مخرج termbridge --help المدمج يعرض الأسماء --daytona-* و--backend daytona، وهما مرفوضان (#1).

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

صفحة المعاينة فارغة

  • تأكد من أن خادم التطوير يعمل داخل البيئة المعزولة.
  • استخدم --host 0.0.0.0 ليكون منفذ المعاينة قابلًا للوصول.
  • تحقق من أن TERMBRIDGE_SANDBOX_PREVIEW_PORT يطابق منفذ خادم التطوير.

فشل إنشاء البيئة المعزولة بسبب أخطاء الحصة

  • احذف البيئات المعزولة القديمة من لوحة تحكم Daytona.
  • استخدم TERMBRIDGE_SANDBOX_DELETE_ON_EXIT=true للجلسات قصيرة الأجل.

فشل استنساخ المستودع

  • تحقق من URL المستودع والفرع وبيانات الاعتماد.
  • تأكد من أن رمز Git المميز يتيح قراءة المستودع.