عن المشروع
Homelab Inventory هو تطبيق ويب ذاتي الاستضافة مصمم لتوثيق وتجميع والتحقق من ومراقبة أجهزة مختبرات المنزل (Homelab). يتم توزيعه كصورة Docker (mriverodorta/homelab-inventory)، ويخزن جميع الحالات في مجلد /data دائم، باستخدام قواعد بيانات SQLite للجرد والبيانات التلومترية وبيانات الكتالوج.
القدرات الأساسية الموصوفة في ملف README:
- التوثيق الفيزيائي: تنظيم التثبيتات في مشاريع، كل منها يحتوي على عرض الأنظمة ثابت ومساحات عمل Canvas قابلة لإعادة الترتيب ومشفرة بالألوان. يمكن وضع الخوادم، وأجهزة NAS، وأجهزة الكمبيوتر المخصصة، والشاشات، والمحولات، ولوحات التوصيل، وأنظمة UPS، ومقابس الطاقة على لوحة لا نهائية. تجميع المضيفين من مكونات قابلة لإعادة الاستخدام مثل المعالجات (CPUs)، واللوحات الأم، وأنظمة التبريد، والذاكرة (RAM)، والتخزين، وبطاقات الرسوميات (GPUs)، ومحولات الشبكة السلكية أو اللاسلكية، وبطاقات الصوت، والصناديق، ومزودات الطاقة. ربط نقاط نهاية الشبكة والعرض والطاقة بكابلات مشفرة بالألوان وموجهة بشكل متعامد، وفحص كل اتصال من أي نقطة نهاية. يدعم درج الجرد للسطح المكتب أو الجوال القابل للبحث إنشاء، وتكرار، وأرشفة، واستعادة، وإزالة آمنة للعناصر.
- التحقق من التوافق: فحص مقبس المعالج، الجيل، وحدود الطاقة؛ جيل الذاكرة، السعة، السرعة، تصحيح الأخطاء (ECC)، ملاءمة DIMM/SO-DIMM، وتخصيص الفتحات؛ فتحات التخزين والواجهات؛ وملاءمة فتحات التوسع عبر PCIe، وM.2، وMini PCIe، وUSB، وOCP، والواجهات المدمجة (mezzanine)، والواجهات المدمجة على اللوحة، والواجهات الخاصة. يتم تصنيف النتائج كمتوافقة، أو غير متوافقة، أو غير معروفة، مع تخصيصات موارد حتمية، وتحذيرات عدم التوافق، وتحذيرات البيانات غير المكتملة. يمكن مراجعة النتائج أو تجاهلها، ويمكن تعطيل الفحوصات لكل مضيف لاستثناءات مقصودة.
- كتالوج الأجهزة والقوالب: يمكن البحث محليًا في كتالوج الأجهزة الموقّع اختياريًا حسب الفئة وفلاتر الأجهزة المحددة، مع استيراد مرتبط بمراجعات القوالب المؤكدة. تتم مراجعة تحديثات الكتالوج قبل التطبيق مع الحفاظ على الأسماء المحلية، والتخصيصات، ومواقع اللوحة، والكابلات، وحقول النسخة فقط. يمكن تشغيل التثبيتات بالكامل دون اتصال باستخدام لقطة كتالوج موقعة أو استخدام قوالب خاصة مع استيراد/تصدير JSON محسوب البصمة. تستبعد المساهمات المطهرة اختيارياً الأرقام التسلسلية، والعناوين، والتسميات، والتخصيصات، والبنية الطوبولوجية، وأدلة الوكيل.
- مراقبة المضيف: يمكن تسجيل وكيل (Agent) خارجي فقط على مضيفات Linux systemd، أو Alpine/OpenRC، أو FreeBSD، أو OPNsense، للإبلاغ عن الصحة الدقيقة، وسجل نبضات القلب، والمعالج، والذاكرة، ووقت التشغيل، وتفاصيل نظام التشغيل. تصل بيانات الاستخدام المباشر وتلقيمات المفتش (Inspector) من خلال تدفق أحداث الخادم المرسل (server-sent event) موثوق واحد بعد لقطة أولية. يتم فحص استخدام التخزين المحلي حسب الجهاز الفيزيائي ونقطة التعليق، بما في ذلك جداول الأقسام وطوبولوجيا LVM أو RAID. يمكن اكتشاف الخدمات المثبتة محليًا، مع بيانات تلومترية اختيارية محدودة للحاويات Docker أو Podman. يمكن تطبيق مسح الأجهزة المنفصل والمراجع القيم المكتشفة حقلًا واحدًا في كل مرة مع دعم التراجع (Undo). تغطي تنبيهات Ntfy الاختيارية أو الويب هوك العامة انقطاع المضيف والتغييرات المختارة في الخدمة أو الحاوية أو التخزين الفيزيائي، مع ساعات الهدوء، والتذكيرات، وإعادة المحاولة، وسجل الحوادث المخزن.
- المصادقة والوصول: مصادقة بكلمة مرور محلية، أو OpenID Connect، أو هجينة مع الدعوات، والجلسات، والأدوار المدمجة، ومجموعات الأذونات المخصصة. تتطلب التثبيتات الإنتاجية الجديدة إعداد المالك المحلي مرة واحدة؛ التثبيتات المرقاة تتخذ المصادقة المعطلة افتراضيًا. تستخدم OIDC تدفق رمز التفويض مع PKCE. يتم فرض أذونات واجهة برمجة التطبيقات من جانب الخادم مع رفض افتراضي للتوجيهات. يمكن لأمر الاستعادة إعادة تعيين المالك الأصلي.
- المشاركة: يمكن نشر عروض الأنظمة واللوحة المحددة صراحةً إلى lab.gd من خلال معاينة خصوصية محلية، مع وصول عام أو غير مدرج، ومراجعات غير قابلة للتغيير أو قابلة للاستبدال، ومزامنة يدوية أو مؤجلة، وانتهاء الصلاحية، وتضمين، وبيانات وصفية اختيارية. لا يرسل التسجيل أي محتوى جرد، ويمكن تعطيل المشاركة تمامًا.
- النسخ الاحتياطي والاستعادة: نسخ احتياطية كاملة أو قائمة على الأقسام بصيغة .hlibackup، مع التحقق من المسارات، والأحجام، وبصمات التحقق، وتوافق المخطط، وتبعات الأقسام، ونسخة احتياطية للاستعادة قبل الاستعادة، ووضع الصيانة، والتراجع التلقائي عند الفشل. يتم دعم النسخ الاحتياطية المشفرة المجدولة مع الاحتفاظ القابل للتكوين؛ كلمة المرور إلزامية للنسخ الاحتياطية المجدولة بمجرد وجود مواد مصادقة المالك.
- النشر: Docker Compose مع وسوم الإصدارات المستقرة، أو الأحدث، أو المثبتة؛ تغطي متغيرات البيئة المنفذ، ومجلد البيانات، وقناة التحديث، وفاصل تحديث المستودع، ومشاركة lab.gd، وتأسيس المصادقة، وأسرار OIDC، وتحديد المعدل، وثقة البروكسي، والاحتفاظ بالبيانات التلومترية. يحذر README من تعريض التطبيق مباشرةً للإنترنت العام بدون HTTPS وضوابط الوصول، ويشير إلى أن المشروع قيد التطوير النشط بمساعدة الذكاء الاصطناعي ويجب التعامل معه كأداة متطورة وليس كـ CMDB مؤسسة مكتملة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.