مُصمَّم Bedrud ليعمل كـ “جهاز جاهز” مكتفٍ ذاتيًا لاجتماعات الفيديو. ملف ثنائي تنفيذي واحد يحتوي كل ما يلزم - الواجهة والخلفية وخادم وسائط LiveKit.
الميزات الرئيسية
| الميزة | الوصف |
|---|---|
| لا تبعيات خارجية | لا حاجة لـ Node.js أو Redis أو خادم وسائط منفصل |
| خادم وسائط مضمن | ملف LiveKit الثنائي مُضمَّن ويُدار تلقائيًا |
| واجهة مضمنة | واجهة React مُترجمة ومعروضة مسبقًا SSR داخل الملف الثنائي Go |
| تخزين SQLite | لا حاجة لخادم قاعدة بيانات |
| TLS مدمج | شهادات موقعة ذاتيًا أو Let’s Encrypt |
| مثبّت مدمج | يُعدّد systemd والأدلة والإعدادات |
تشغيل الملف الثنائي
بدء خادم Bedrud
./bedrud --run --config config.yamlبدء خادم وسائط LiveKit
./bedrud --livekit --config livekit.yamlالملف الثنائي يحتوي كلًا من خادم API وخادم الوسائط. استخدم الأعلام لاختيار أيهما تريد بدءه.
التثبيت
تثبيت سريع (Debian/Ubuntu)
# With Let's Encrypt TLS
sudo ./bedrud install --tls --domain meet.example.com --email admin@example.com
# With self-signed certificate
sudo ./bedrud install --tls --ip 1.2.3.4
# Plain HTTP (dev only)
sudo ./bedrud install --ip 1.2.3.4ماذا يفعل المثبّت
عند تشغيل bedrud install، يحدث ما يلي:
| الخطوة | الإجراء |
|---|---|
| 1 | ينشئ الأدلة: /etc/bedrud, /var/lib/bedrud, /var/log/bedrud |
| 2 | ينسخ الملف الثنائي إلى /usr/local/bin/bedrud |
| 3 | ينشئ config.yaml بإعداداتك /etc/bedrud/config.yaml |
| 4 | ينشئ livekit.yaml لخادم الوسائط /etc/bedrud/livekit.yaml |
| 5 | ينشئ خدمتي systemd: bedrud.service & livekit.service |
| 6 | يُفعّل ويبدأ كلتا الخدمتين |
| 7 | يهيّئ قاعدة بيانات SQLite وذاكرة الشهادات المؤقتة |
بنية الخدمات
بعد التثبيت، تعمل خدمتا systemd:
flowchart LR
BS["bedrud.service<br/>bedrud --run<br/>(API + Web UI)"]
LS["livekit.service<br/>bedrud --livekit<br/>(WebRTC media)"]
DB["SQLite database"]
BS --> LS
BS --> DBملفات الإعدادات
| الملف | الغرض |
|---|---|
/etc/bedrud/config.yaml | إعدادات الخادم الرئيسية |
/etc/bedrud/livekit.yaml | إعدادات خادم الوسائط |
/var/lib/bedrud/bedrud.db | قاعدة بيانات SQLite |
/var/log/bedrud/bedrud.log | سجلات التطبيق |
راجع مرجع الإعدادات لجميع الخيارات.
ما بعد التثبيت
أنشئ أول مسؤول
ترقية مستخدم إلى مشرف
سجّل عبر واجهة الويب على عنوان خادمك، ثم رقِّ المستخدم إلى مشرف:
sudo ./bedrud user promote --email admin@example.com
تحقق من حالة الخدمات
systemctl status bedrud livekitعرض السجلات
tail -f /var/log/bedrud/bedrud.log
journalctl -u bedrud -fإلغاء التثبيت
sudo ./bedrud uninstallيزيل هذا بالكامل:
- ملفات خدمة systemd
- الملف الثنائي من
/usr/local/bin/ - الإعدادات في
/etc/bedrud/ - البيانات في
/var/lib/bedrud/ - السجلات في
/var/log/bedrud