المختبر المحلي
تتغيّر أعداد الاختبارات ونتائج القبول مع كل مرحلة؛ تجد الحالية منها ونتائج CI وما يثبته كل منها في الحالة الحالية.
استخدم جهاز Linux الخاص بك خادما محليا عبر Docker لتقييم صباربيز في حاويات معزولة معلنة. هذا لا يثبت نشرا عاما أو قبول خادم مستقل نظيف. التعليمات الكاملة بجانب الكود في lab/README.md، وهذه الصفحة نسخة مختصرة منها مع ملاحظات الأمان التي يجب أن تقرأها أولًا.
قبل أن تبدأ
- يستخدم حاويات Docker حقيقية وموارد حقيقية. مكان التشغيل المجمّع مضبوط على ما يصل إلى 5888 MiB من ذاكرة الحاويات و5.75 من أنوية المعالج مع ثماني بيئات، قبل Realtime وEdge Functions، ويطلب الفحص المسبق فوقها احتياطيًا للخادم. بعض الفحوص الحية تحتاج وحدها من 4 إلى 6 GiB من الذاكرة الحرة. تحقق من الذاكرة الحرة أولًا؛ الرفض بسبب
host_memory_headroomيعني أن فحص القبول يؤدي عمله، وليس خللًا. - نسخة واحدة من المستودع لكل خدمة Docker. أسماء الحاويات ثابتة على مستوى الخادم كله (
sbarbase-durable-*،sbarbase-restore-*)، فلا يجوز لنسختين أو شجرتي عمل أن تشغّلا مكان تشغيل على خدمة Docker نفسها. - لا تحذف الحالة المحفوظة أبدًا لتتجاوز رفضًا. لا تحذف وحدات التخزين ولا
.lab/ولا الإيصالات ولا سجلات العمليات ولا تثبيتات الأجيال ولا الإلغاءات. التشغيل يرفض عمدًا حين لا يستطيع إثبات ما حدث. - بعض الفحوص الحية تستهلك البيئات الثابتة المحفوظة أو تغيّرها. السكربتات
lab/*-check.pyوlab/*-check.tsتجارب حية. اقرأ فقرة الفحص في lab/README.md قبل تشغيله، ولا تشغّل الفحوص بالتوازي مع المشغِّل المحلي. - احفظ الأسرار لنفسك. تُولَّد بيانات الاعتماد في
.secrets/(يتجاهله Git). لا تطبعها، ولا تمرّر كلمات المرور وسائط للأوامر أبدًا.
المتطلبات
المسار الأساسي للحاويات يحتاج دعما لحاويات Linux عبر Docker وصدفة POSIX؛ انظر التثبيت عبر Docker. مسار التطوير السابق في الطرفية يحتاج أيضا خدمة Docker محلية وBun وPython 3.12 أو أحدث في /usr/bin/python3 مع cryptography (python3-cryptography). أدوات المضيف هذه ليست متطلبات مسار الحاويات الأساسي.
مسار التطوير السابق في الطرفية
تشغّل الخطوات التالية أدوات المضيف وحالة محفوظة. ليست مسار التثبيت أو التحقق الأساسي المعزول في الحاويات.
bun install --frozen-lockfile
/usr/bin/python3 lab/dev.pyيبني lab/dev.py لوحة الإدارة، ويشغّل بيئة التشغيل المملوكة، ويواصل معالجة مهام التجهيز في الطرفية نفسها. يطبع عنوانًا محليًا للوحة الإدارة. إذا لم يكن هناك مشغّل بعد، فأنشئ واحدًا من طرفية أخرى بالأمر /usr/bin/python3 lab/bootstrap.py (انظر إعداد المشغّل). اضغط Ctrl+C للإيقاف؛ تبقى وحدات التخزين كما هي.
لتشغيل الأجزاء يدويًا بدلًا من ذلك: /usr/bin/python3 lab/durable_runtime.py up يشغّل بيئة التشغيل، وbun lab/upstream-server.ts يقدّم لوحة الإدارة والواجهة البرمجية على العنوان المحلي، و/usr/bin/python3 lab/durable_runtime.py stop يوقف بيئة التشغيل.
التحقق من المصدر عبر Docker
من جذر المستودع:
sh deploy/verify/run.shيبني الأمر صورة مؤقتة تتضمن المصدر العام، ثم يشغّل الفحوص دون شبكة وبمستخدم غير ذي صلاحيات، مع Docker init ومعالج واحد وحد ذاكرة 1 GiB وحد عمليات 512. لا يركب مسارات المضيف أو مقبس Docker. يستخدم هذا المشغّل العام نظام ملفات حاوية قابلا للكتابة؛ تنزيل الاعتماديات المثبتة أثناء البناء يحتاج وصولا إلى الحزم العامة.
يبدأ الأمر حاوية تحقق ويحفظ دليل النجاح أو الفشل. لا يختبر خدمات Supabase أو التثبيت أو التجهيز الأصلي أو النقل الخاص أو الاستعادة. اقرأ دليل التحقق والحالة لنطاق النتائج المرتبطة بالمصدر.
الحدود
مشغّل التطوير السابق ليس مدير خدمات للإنتاج. انظر النشر على خادم لمسار التثبيت الأصلي على Linux. حاسوب المستخدم صالح للتقييم المحلي المعزول المعلن؛ قبول خادم عام مستقل ما زال غير مثبت.