عن المشروع

Levelrail هي منصة نشر ذاتية الاستضافة مُكتوبة بلغة Go. ويتميز تصميمها الأساسي، وفقاً لما ورد في ملف README، بأن وكیلاً صغيراً يعمل على كل عقدة ويتواصل مباشرة مع Docker Engine API المحلي، بدلاً من أن يقوم مستوى التحكم بتسجيل الدخول عبر SSH إلى الخوادم وإصدار أوامر docker. وموجّه نحو آليات Linux واحدة أو أكثر، صُمم للعمل كلوحة سحابية خاصة: تُرسل إلى مستودع git وت得到 تطبيق عامِل مع TLS وسجلات ومقاييس وقابلية التراجع. من ميزات النشر الأساسية التي يصفها المشروع: نشر بدون توقف باستخدام استراتيجيات التمرير التدريجي أو إعادة الإنشاء أو الأزرق والأخضر، بشروط جاهزية وصحة، مع إمكانية التراجع إلى صور سابقة مُثبتة ومتاحة. ووحود القابلية للرصد مُدمجاً في النواة بدلاً من تثبيته بشكل منفصل، مما يغطي المقاييس المحلية للعقدة بدقة 15 ثانية والبحث الكامل النصي في السجلات، مع علامات نشر موضوعة فوق رسوم المخططات البيانية لربط التغيير بنتائجه. إدارة قواعد البيانات تشمل ثماني محركات عبر سجل واحد: Postgres وRedis وMySQL وMongoDB وMariaDB وKeyDB وDragonfly وClickHouse، مع نسخ احتياطي مجدول واستعادة وتحقق تلقائي بعد النسخ على جميعها. دعم العديد من العقد يتضمن شبكة WireGuard ود ns داخلي بين العقد وحظر وتصفية العقد، دون حاجة إلى منافذ دخول على الخوادم المُدارة. تكامل git يشمل روابط GitHub وGitLab وBitbucket الويب، بالإضافة إلى بيئات معاينة لكل طلب سحب مع هدم تلقائي. يُصمم نظام التحكم بالوصول على نمط AWS IAM مع سياسات السماح/الرفض محدّدة بالنسبة لمورد معين، جنباُ جنب مع سجل تدقيق كامل قابل للتصدير بصيغة CSV. يوفر نظام التنبيه أنواع قواعد متعددة تشمل حد العتبة والتكرار الانفجاري وانتهاء صلاحية الشهادات، ويُقدّمها إلى مجموعة كبيرة من الوجهات منها Slack وDiscord والبريد الإلكتروني وTelegram وPushover وPagerDuty وMicrosoft Teams وResend وGotify وNtfy وMattermost وLark وRocket.Chat وOpsgenie وWebex وGoogle Chat أو webhook عام. نفس HTTP API الذي يدعم لوحة التحكم يدعم أيضاً خادم MCP، بحيث يمكن لأدوات الذكاء الاصطناعي سرد التطبيقات وقراءة السجلات والمساعدة في تشخيص حالات التكرار الانفجاري. حسب README: مستوى التحكم هو برنامج Go واحد يتوفّر على تنسيق موثّق للموارد مقابل حالة Docker المرصودة، بنمط المتحكّم بدون باقي مكونات Kubernetes؛ وكيل العقدة يتصل بمستوى التحكم ويستخدم مقبس Docker عبر Engine API؛ Caddy مُضمّن كـ Go library لتوفير TLS التلقائي وتوجيه النطاقات؛ BuildKit يُستخدمة كـ Go library بدلاً من docker build؛ الحالة محفوظة في SQLite مُدمج بوضع WAL من خلال modernc.org/sqlite؛ واجهة HTTP مُدرجة تحت /api/v1؛ الواجهة الأمامية مكتوبة بـ React وVite وTypeScript وTailwind وTanStack Router/Query، تُبنى إلى أصول ثابتة وتُضمّن داخل برنامج مستوى التحكم. يُرفقان معاً ببرنامجين فقط، وفي وضع العقدة الواحدة يعمل نقل الوكيل ضمن العملية نفسها. خيارات التثبيت المُوثّقة تشمل سكربت تثبيت بالنقر عبر curl لنظام Linux يركّب Docker ووحدّة systemd أيضاً، وأمر واحد لتشغيل docker باستخدام الصور المنشورة لـ linux/amd64 وlinux/arm64، والبناء من الشفرة المصدرية مع Go. التطوير المحلي يتطلب Go 1.26 أو أحدث وDocker. الحالة مُعلنة بوضوح كتطوير مبكر ونشط بدون إصدار مستقر؛ المشروع ينص على عدم جاهزيته لأعمال الإنتاج وأن واجهات البرمجة وتنسيق مواصفات التطبيق وهيكل البيانات على القرص قد يتغيّرون دون إشعار. إلى جانب مسار النشر، يذكر README محرك سياسات بنمط IAM وتدقيق السجلات وعلماء الميزة والتنبيه ومحركات قواعد البيانات كالمُدمجة بالفعل، ويلاحظ وجود كتالوج مُنقح لـ 123 قالب خدمة. يحتوي README على مقارنة مفصلة ضد Coolify وDokploy وCapRover وDokku وKamal، بما في ذلك عيب مُعترف به في حجم كتالوج القوالب؛ هذه المطالبات التنافسية هي مواقف المشروع المستمدة من وثائق المقارنة الخاصة به. الترخيص Apache 2.0.